.slegsat-app{--sg-bg:#f7f7fa;--sg-surface:#fff;--sg-text:#19182b;--sg-muted:#6f7180;--sg-line:#e7e6ed;--sg-primary:#5b4fc6;--sg-primary-dark:#453aa8;--sg-primary-soft:#f1effc;--sg-teal:#167a70;--sg-teal-soft:#edf8f6;--sg-warning:#b97920;--sg-radius:18px;--sg-shadow:0 14px 38px rgba(20,34,77,.08);box-sizing:border-box;color:var(--sg-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-size:15px;line-height:1.55;width:100%;background:var(--sg-bg);border:1px solid #edf0f6;border-radius:22px;overflow:hidden}.slegsat-app *,.slegsat-app *:before,.slegsat-app *:after{box-sizing:border-box}.slegsat-app button,.slegsat-app input,.slegsat-app select{font:inherit}.slegsat-app button{cursor:pointer}.slegsat-app a{color:inherit}.slegsat-loading{min-height:360px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--sg-muted);background:#fff}.slegsat-spinner{width:22px;height:22px;border:3px solid #e6eaf4;border-top-color:var(--sg-primary);border-radius:50%;animation:slegsat-spin .8s linear infinite}@keyframes slegsat-spin{to{transform:rotate(360deg)}}
.slegsat-shell{min-height:520px}.slegsat-hero{position:relative;overflow:hidden;padding:32px 34px 28px;color:#fff;background:radial-gradient(circle at 86% 6%,rgba(47,210,190,.22),transparent 30%),linear-gradient(135deg,#17265d 0%,#243e9a 60%,#3157d5 100%)}.slegsat-hero:after{content:"";position:absolute;right:-80px;bottom:-120px;width:310px;height:310px;border-radius:50%;background:rgba(255,255,255,.06)}.slegsat-eyebrow{position:relative;z-index:1;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#cbd5ff}.slegsat-title{position:relative;z-index:1;margin:7px 0 6px!important;color:#fff!important;font-size:clamp(26px,4vw,40px)!important;line-height:1.18!important;font-weight:800!important;letter-spacing:-.03em}.slegsat-subtitle{position:relative;z-index:1;margin:0;max-width:760px;color:#dfe5ff;font-size:14px}.slegsat-hero-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.slegsat-badge{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);font-size:12px;font-weight:700;color:#fff}.slegsat-badge--verified{background:rgba(15,118,110,.28);border-color:rgba(94,234,212,.32)}
.slegsat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px;background:#fff;border-bottom:1px solid var(--sg-line);position:sticky;top:0;z-index:20}.slegsat-tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:1px;scrollbar-width:thin}.slegsat-tab{flex:0 0 auto;min-height:40px;padding:8px 13px;border:1px solid var(--sg-line)!important;border-radius:11px!important;background:#fff!important;color:#566074!important;font-size:13px!important;font-weight:750!important;box-shadow:none!important}.slegsat-tab:hover{border-color:#cdd6ee!important;color:var(--sg-primary)!important}.slegsat-tab.is-active{border-color:var(--sg-primary)!important;background:var(--sg-primary)!important;color:#fff!important}.slegsat-years{display:flex;gap:6px;overflow-x:auto;flex:0 0 auto}.slegsat-year{min-width:52px;min-height:34px;padding:5px 9px;border:1px solid var(--sg-line)!important;border-radius:999px!important;background:#fff!important;color:#7a8498!important;font-size:12.5px!important;font-weight:800!important;box-shadow:none!important}.slegsat-year.is-active{background:#1f2937!important;color:#fff!important;border-color:#1f2937!important}
.slegsat-main{padding:24px}.slegsat-section{display:grid;gap:16px}.slegsat-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.slegsat-h2{margin:0!important;font-size:20px!important;line-height:1.3!important;color:var(--sg-text)!important;font-weight:800!important}.slegsat-copy{margin:4px 0 0;color:var(--sg-muted);font-size:13px}.slegsat-card{background:var(--sg-surface);border:1px solid var(--sg-line);border-radius:var(--sg-radius);box-shadow:0 2px 10px rgba(20,34,77,.03)}.slegsat-card-pad{padding:20px}.slegsat-actions{display:flex;flex-wrap:wrap;gap:8px}.slegsat-btn{min-height:38px;padding:8px 13px!important;border:1px solid var(--sg-line)!important;border-radius:10px!important;background:#fff!important;color:#4c566a!important;font-size:13px!important;font-weight:750!important;line-height:1.2!important;box-shadow:none!important;text-decoration:none!important}.slegsat-btn:hover{border-color:#cbd4eb!important;color:var(--sg-primary)!important}.slegsat-btn--primary{border-color:var(--sg-primary)!important;background:var(--sg-primary)!important;color:#fff!important}.slegsat-btn--primary:hover{background:var(--sg-primary-dark)!important;color:#fff!important}.slegsat-btn--soft{background:var(--sg-primary-soft)!important;border-color:#d9e1ff!important;color:var(--sg-primary)!important}
.slegsat-spacing-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.slegsat-spacing{padding:14px 12px;text-align:center;background:#fff;border:1px solid var(--sg-line);border-radius:14px;transition:.15s ease}.slegsat-spacing:hover,.slegsat-spacing.is-active{border-color:#aebdf4;background:#f6f8ff;transform:translateY(-1px)}.slegsat-spacing-label{font-size:12px;font-weight:800;color:#727d92}.slegsat-spacing-value{margin-top:3px;font-size:17px;font-variant-numeric:tabular-nums;font-weight:800;color:#29344d}.slegsat-spacing-note{margin-top:2px;font-size:10.5px;color:#98a1b3}
.slegsat-table-wrap{overflow:auto;max-height:620px;border-radius:var(--sg-radius)}.slegsat-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:13px}.slegsat-table th,.slegsat-table td{padding:11px 12px;border-bottom:1px solid #edf0f5;text-align:center;white-space:nowrap}.slegsat-table thead th{position:sticky;top:0;z-index:3;background:#f8f9fc;color:#667085;font-size:11.5px;font-weight:800;text-transform:none}.slegsat-table tbody tr:hover td{background:#f7f9ff}.slegsat-table .slegsat-sticky{position:sticky;left:0;z-index:2;background:#fff;font-weight:850;color:var(--sg-primary);box-shadow:5px 0 12px -10px #475569}.slegsat-table thead .slegsat-sticky{z-index:4;background:#f8f9fc}.slegsat-table tbody tr:hover .slegsat-sticky{background:#f7f9ff}.slegsat-muted{color:#8a94a7}.slegsat-footnote{margin:10px 2px 0;color:#8791a5;font-size:11.5px;text-align:center}
.slegsat-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:18px}.slegsat-field{display:grid;gap:6px;margin-bottom:15px}.slegsat-label{font-size:12px;font-weight:800;color:#667085}.slegsat-input,.slegsat-select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #ccd3df!important;border-radius:10px!important;background:#fff!important;color:#1f2937!important;font-size:14px!important;box-shadow:none!important;outline:none}.slegsat-input:focus,.slegsat-select:focus{border-color:var(--sg-primary)!important;box-shadow:0 0 0 3px rgba(49,87,213,.12)!important}.slegsat-subjects{display:flex;flex-wrap:wrap;gap:7px}.slegsat-subject{min-height:36px;padding:7px 11px;border:1px solid var(--sg-line)!important;border-radius:9px!important;background:#fff!important;color:#667085!important;font-size:12.5px!important;font-weight:750!important;box-shadow:none!important}.slegsat-subject.is-active{border-color:#cad5ff!important;background:var(--sg-primary-soft)!important;color:var(--sg-primary)!important}.slegsat-result{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:linear-gradient(145deg,#fff,#f5f7ff);border:1px solid #dfe5fa;border-radius:16px}.slegsat-grade{font-size:78px;line-height:1;font-weight:900;letter-spacing:-.07em;color:var(--sg-primary)}.slegsat-grade-unit{margin-top:4px;color:#778196;font-size:12px;font-weight:800;letter-spacing:.08em}.slegsat-result-box{width:100%;max-width:340px;margin-top:18px;padding:13px;background:#fff;border:1px solid var(--sg-line);border-radius:12px}.slegsat-result-range{font-variant-numeric:tabular-nums;font-weight:800;color:#35405a}.slegsat-error{margin-top:6px;color:#b42318;font-size:12px}
.slegsat-compare-controls{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:10px}.slegsat-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slegsat-kpi{padding:14px 15px;border:1px solid var(--sg-line);border-radius:13px;background:#fff}.slegsat-kpi-label{color:#7f899c;font-size:11.5px;font-weight:750}.slegsat-kpi-value{margin-top:3px;color:#28354e;font-size:18px;font-weight:850;font-variant-numeric:tabular-nums}.slegsat-kpi--accent{background:#f4f6ff;border-color:#dde4ff}.slegsat-kpi--accent .slegsat-kpi-value{color:var(--sg-primary)}
.slegsat-chart-card{padding:18px}.slegsat-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.slegsat-chart-title{font-size:14px;font-weight:850;color:#344054}.slegsat-chart-copy{margin-top:2px;font-size:11.5px;color:#8a94a7}.slegsat-svg{width:100%;height:auto;display:block}.slegsat-axis{font-size:10px;fill:#8892a5}.slegsat-grid-line{stroke:#edf0f6;stroke-width:1}.slegsat-line{fill:none;stroke-width:2.4}.slegsat-dot{stroke:#fff;stroke-width:2}.slegsat-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.slegsat-legend-item{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#657084}.slegsat-legend-dot{width:9px;height:9px;border-radius:50%;background:currentColor}
.slegsat-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.slegsat-mini{padding:16px}.slegsat-mini-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.slegsat-mini-title{font-weight:850;color:#334155}.slegsat-mini-range{font-size:11px;color:#8b95a8}
.slegsat-source{display:grid;gap:12px;padding:18px;margin-top:18px}.slegsat-source-head{display:flex;align-items:center;gap:8px;font-weight:850;color:#18794e}.slegsat-source-links{display:flex;flex-wrap:wrap;gap:8px 16px}.slegsat-source-link{color:var(--sg-primary)!important;font-size:12.5px;font-weight:750;text-decoration:none}.slegsat-source-link:hover{text-decoration:underline}.slegsat-source-note{margin:0;color:#818a9b;font-size:11.5px;line-height:1.6}.slegsat-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid var(--sg-line);background:#fff;color:#8a94a7;font-size:11.5px}.slegsat-visits strong{color:#344054}
.slegsat-explore{position:fixed;left:18px;bottom:18px;z-index:99997;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 14px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#243e9a,#3157d5 65%,#0f766e)!important;color:#fff!important;font-size:12.5px!important;font-weight:800!important;box-shadow:0 12px 30px rgba(37,58,145,.3)!important}.slegsat-modal-backdrop{position:fixed;inset:0;z-index:99998;background:rgba(15,23,42,.62);display:flex;align-items:center;justify-content:center;padding:14px;backdrop-filter:blur(8px)}.slegsat-modal{width:min(1100px,100%);max-height:min(850px,calc(100vh - 28px));display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#f8f9fc;box-shadow:0 28px 90px rgba(15,23,42,.34)}.slegsat-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px;color:#fff;background:linear-gradient(135deg,#17265d,#3157d5 75%,#0f766e)}.slegsat-modal-title{font-size:20px;font-weight:850}.slegsat-modal-copy{margin-top:3px;font-size:12px;color:#dce4ff}.slegsat-modal-close{width:38px;height:38px;padding:0!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:50%!important;background:rgba(255,255,255,.1)!important;color:#fff!important;font-size:22px!important;line-height:1!important}.slegsat-modal-tabs{display:flex;gap:7px;padding:11px 14px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--sg-line)}.slegsat-modal-body{padding:16px;overflow:auto}.slegsat-year-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.slegsat-year-card{min-height:160px;padding:15px;border:1px solid var(--sg-line);border-radius:15px;background:#fff}.slegsat-year-card-year{font-size:11.5px;font-weight:850;color:#7c8799}.slegsat-year-card-grade{margin-top:8px;font-size:44px;line-height:1;font-weight:900;color:var(--sg-primary)}.slegsat-year-card-range{margin-top:9px;font-size:11.5px;color:#59657a;font-variant-numeric:tabular-nums}.slegsat-year-card-delta{display:inline-block;margin-top:9px;padding:3px 7px;border-radius:999px;background:#f1f4f8;color:#748094;font-size:10.5px;font-weight:800}.slegsat-heat-wrap{overflow:auto;padding-bottom:7px}.slegsat-heat{display:grid;grid-template-columns:72px repeat(15,28px);gap:4px;width:max-content;align-items:center}.slegsat-heat-label{position:sticky;left:0;z-index:2;background:#fff;color:#59657a;font-size:10.5px;font-weight:850}.slegsat-heat-axis{text-align:center;color:#919aab;font-size:9px}.slegsat-heat-cell{width:28px;height:28px;padding:0!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:6px!important;box-shadow:none!important}.slegsat-heat-cell.is-selected{outline:2px solid #17265d;outline-offset:2px}.slegsat-duel-list{display:grid;gap:6px}.slegsat-duel-row{display:grid;grid-template-columns:48px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--sg-line);border-radius:10px;background:#fff}.slegsat-duel-track{position:relative;height:10px;background:linear-gradient(90deg,#fff7ed 0 49.5%,#cbd5e1 49.5% 50.5%,#ecfdf5 50.5%);border-radius:4px}.slegsat-duel-bar{position:absolute;top:2px;height:6px;border-radius:3px}.slegsat-duel-bar.up{left:50%;background:#0f766e}.slegsat-duel-bar.down{right:50%;background:#d97706}.slegsat-duel-bar.same{left:calc(50% - 2px);background:#94a3b8}.slegsat-duel-value{text-align:right;font-size:11px;font-weight:800;color:#526075}.slegsat-disclaimer{padding:10px 12px;border-left:3px solid var(--sg-primary);border-radius:9px;background:#eef2ff;color:#697386;font-size:11.5px;line-height:1.6}
@media(max-width:1050px){.slegsat-spacing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slegsat-year-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.slegsat-toolbar{position:static;flex-direction:column;align-items:stretch}.slegsat-years{width:100%}.slegsat-main{padding:18px}.slegsat-calc{grid-template-columns:1fr}.slegsat-compare-controls{grid-template-columns:1fr 1fr}.slegsat-compare-controls .slegsat-field:first-child{grid-column:1/-1}.slegsat-trend-grid{grid-template-columns:1fr}.slegsat-year-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.slegsat-app{border-radius:14px}.slegsat-hero{padding:25px 18px 22px}.slegsat-toolbar{padding:12px}.slegsat-main{padding:14px}.slegsat-spacing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.slegsat-section-head{align-items:flex-start;flex-direction:column}.slegsat-actions{width:100%}.slegsat-btn{flex:1 1 auto}.slegsat-kpis{grid-template-columns:1fr}.slegsat-compare-controls{grid-template-columns:1fr}.slegsat-compare-controls .slegsat-field:first-child{grid-column:auto}.slegsat-grade{font-size:68px}.slegsat-footer{align-items:flex-start;flex-direction:column;padding:14px}.slegsat-year-cards{grid-template-columns:1fr}.slegsat-explore{left:10px;bottom:10px}.slegsat-modal-backdrop{padding:0}.slegsat-modal{width:100%;height:100dvh;max-height:none;border-radius:0}.slegsat-modal-body{padding:12px}}@media print{.slegsat-toolbar,.slegsat-actions,.slegsat-explore,.slegsat-footer{display:none!important}.slegsat-app{border:0;background:#fff}.slegsat-main{padding:0}.slegsat-table-wrap{max-height:none;overflow:visible}.slegsat-card{box-shadow:none}}


/* v0.2.0 — SLE GSAT premium visual system
   Distinct from the admissions dashboard: ink / aubergine / mineral teal / muted coral. */
.slegsat-app{
  background:
    radial-gradient(circle at 92% -5%,rgba(91,79,198,.065),transparent 28rem),
    linear-gradient(180deg,#fafafd 0%,#f7f7fa 100%);
  border-color:#ecebf1;
  box-shadow:0 22px 60px rgba(35,29,74,.06);
}
.slegsat-hero{
  background:
    radial-gradient(circle at 82% 8%,rgba(61,196,178,.22),transparent 26%),
    radial-gradient(circle at 8% 100%,rgba(135,105,224,.18),transparent 34%),
    linear-gradient(132deg,#17152f 0%,#322a68 56%,#175f69 100%);
}
.slegsat-hero:after{background:rgba(255,255,255,.045)}
.slegsat-eyebrow{color:#d8d1ff}
.slegsat-subtitle{color:#e3e2ee}
.slegsat-badge{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.16)}
.slegsat-badge--verified{background:rgba(30,139,126,.24);border-color:rgba(117,224,207,.28)}
.slegsat-toolbar{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.slegsat-tab{border-radius:10px!important;color:#626373!important}
.slegsat-tab.is-active{background:#211d3d!important;border-color:#211d3d!important;color:#fff!important;box-shadow:0 7px 18px rgba(33,29,61,.16)!important}
.slegsat-tab:hover{color:var(--sg-primary)!important;border-color:#d8d3ef!important}
.slegsat-year.is-active{background:#272436!important;border-color:#272436!important}
.slegsat-card{border-color:#e8e7ee;box-shadow:0 5px 20px rgba(37,30,75,.035)}
.slegsat-btn--primary{background:var(--sg-primary)!important;border-color:var(--sg-primary)!important}
.slegsat-btn--primary:hover{background:var(--sg-primary-dark)!important}
.slegsat-btn--soft{background:#f3f1fb!important;border-color:#dfdaf4!important;color:#5146b7!important}
.slegsat-spacing:hover,.slegsat-spacing.is-active{border-color:#cfc7ef;background:#f7f5fd}
.slegsat-input:focus,.slegsat-select:focus{border-color:var(--sg-primary)!important;box-shadow:0 0 0 3px rgba(91,79,198,.11)!important}
.slegsat-subject.is-active{border-color:#d7d0f3!important;background:#f2f0fb!important;color:#5145b7!important}
.slegsat-result{background:radial-gradient(circle at 65% 18%,rgba(32,144,132,.065),transparent 34%),linear-gradient(145deg,#fff,#f7f5fc);border-color:#e3dff3}
.slegsat-grade{color:#5145b7}
.slegsat-kpi--accent{background:#f4f2fb;border-color:#e1dcf4}.slegsat-kpi--accent .slegsat-kpi-value{color:#5145b7}
.slegsat-table tbody tr:hover td,.slegsat-table tbody tr:hover .slegsat-sticky{background:#f8f7fc}
.slegsat-table .slegsat-sticky{color:#5145b7}
.slegsat-source-link{color:#5145b7!important}
.slegsat-disclaimer{border-left-color:#5b4fc6;background:#f4f2fb}
.slegsat-explore{background:linear-gradient(135deg,#2a244f,#5b4fc6 58%,#167a70)!important;box-shadow:0 14px 34px rgba(55,45,118,.28)!important}
.slegsat-modal-head{background:radial-gradient(circle at 82% 0%,rgba(71,201,181,.24),transparent 30%),linear-gradient(132deg,#17152f,#413684 68%,#176b70)}
.slegsat-year-card-grade{color:#5145b7}
.slegsat-heat-cell.is-selected{outline-color:#211d3d}

/* Premium five-standard chart */
.slegsat-chart-card--premium{
  position:relative;
  overflow:hidden;
  padding:22px 22px 18px;
  background:
    radial-gradient(circle at 86% 0%,rgba(91,79,198,.045),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fdfdff 100%);
  border-color:#e5e2ef;
  box-shadow:0 18px 48px rgba(48,39,97,.07);
}
.slegsat-chart-card--premium:before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,#d65f7a,#d3912c,#2f8f73,#3478b9,#745bd4);
  opacity:.78;
}
.slegsat-chart-kicker{font-size:9.5px;font-weight:900;letter-spacing:.16em;color:#9b95b5;margin-bottom:4px}
.slegsat-chart-card--premium .slegsat-chart-title{font-size:16px;color:#25223a;letter-spacing:-.01em}
.slegsat-chart-card--premium .slegsat-chart-copy{font-size:11.5px;color:#858494}
.slegsat-chart-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.slegsat-chart-meta span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid #e8e4f1;border-radius:999px;background:#faf9fd;color:#777386;font-size:10.5px;font-weight:800}
.slegsat-interactive-chart{position:relative;margin-top:4px;min-height:260px}
.slegsat-svg--standards{overflow:visible}
.slegsat-axis{fill:#9693a3;font-size:9.5px}
.slegsat-axis--year{fill:#706d7d;font-weight:750}
.slegsat-grid-line{stroke:#eceaf1;stroke-width:1;stroke-dasharray:2 5}
.slegsat-line{fill:none;stroke-width:2.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:opacity .18s ease,stroke-width .18s ease}
.slegsat-line--halo{stroke-width:8;opacity:.045}
.slegsat-series{transition:opacity .18s ease}
.slegsat-series.is-dimmed{opacity:.14}
.slegsat-series.is-hover-muted{opacity:.18}
.slegsat-series.is-hover-focus{opacity:1}
.slegsat-series.is-hover-focus .slegsat-line:not(.slegsat-line--halo){stroke-width:3.5}
.slegsat-dot{stroke:#fff;stroke-width:2.3;filter:url(#slegsat-dot-shadow);transition:r .14s ease,opacity .14s ease,stroke-width .14s ease;vector-effect:non-scaling-stroke}
.slegsat-dot.is-active-point{r:6.6px;stroke-width:3.2}
.slegsat-hover-zone{cursor:crosshair;outline:none}
.slegsat-hover-zone:focus{stroke:#8f84d5;stroke-width:1;stroke-dasharray:4 5}
.slegsat-crosshair{stroke:#918ba4;stroke-width:1;stroke-dasharray:3 5;opacity:.55;pointer-events:none;vector-effect:non-scaling-stroke}
.slegsat-chart-tooltip{
  position:absolute;z-index:8;width:238px;padding:12px 13px;
  border:1px solid rgba(225,221,237,.96);border-radius:14px;
  background:rgba(255,255,255,.965);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 16px 38px rgba(38,31,78,.16);pointer-events:none;
  color:#25223a;animation:slegsat-tooltip-in .12s ease-out;
}
@keyframes slegsat-tooltip-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.slegsat-tooltip-year{font-size:13px;font-weight:900;color:#262238}
.slegsat-tooltip-sub{margin:1px 0 8px;font-size:9.5px;color:#a09cac}
.slegsat-tooltip-row{display:grid;grid-template-columns:minmax(0,1fr) auto 35px;align-items:center;gap:7px;min-height:27px;padding:3px 0;border-top:1px solid #f0eef4;font-size:10.5px}
.slegsat-tooltip-row.is-focus{margin-left:-7px;margin-right:-7px;padding-left:7px;padding-right:7px;border-radius:7px;background:#f6f4fb}
.slegsat-tooltip-key{display:flex;align-items:center;gap:6px;color:#646071;font-weight:750}
.slegsat-tooltip-key i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 3px rgba(0,0,0,.025)}
.slegsat-tooltip-row strong{color:#272436;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}
.slegsat-tooltip-delta{justify-self:end;color:#8b8797;font-size:9.5px;font-weight:850;font-variant-numeric:tabular-nums}
.slegsat-tooltip-delta[data-tone="up"]{color:#1f7a66}.slegsat-tooltip-delta[data-tone="down"]{color:#b25764}.slegsat-tooltip-delta[data-tone="same"]{color:#868293}
.slegsat-legend--interactive{gap:7px;margin-top:8px;padding-top:12px;border-top:1px solid #f0eef4}
.slegsat-legend-pill{
  display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px!important;
  border:1px solid #e6e3ed!important;border-radius:999px!important;background:#fff!important;
  color:#706c7d!important;font-size:10.5px!important;font-weight:800!important;line-height:1!important;box-shadow:none!important;
  transition:border-color .15s ease,background .15s ease,transform .15s ease!important;
}
.slegsat-legend-pill:hover{border-color:#cbc5dc!important;background:#faf9fd!important;transform:translateY(-1px)}
.slegsat-legend-pill.is-active{border-color:#d5d0e4!important;background:#f3f1f8!important;color:#302c42!important}
.slegsat-legend-pill:not(:first-child).is-active{box-shadow:inset 0 0 0 1px var(--legend-color)!important}
.slegsat-legend-pill .slegsat-legend-dot{width:8px;height:8px;background:var(--legend-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--legend-color) 12%,transparent)}

@media(max-width:700px){
  .slegsat-chart-card--premium{padding:18px 12px 14px}
  .slegsat-chart-head{align-items:flex-start;flex-direction:column}
  .slegsat-chart-meta{display:none}
  .slegsat-interactive-chart{overflow-x:auto;overflow-y:visible;padding-bottom:5px}
  .slegsat-svg--standards{min-width:620px}
  .slegsat-chart-tooltip{position:sticky;left:8px!important;top:8px!important;margin:-6px 0 8px;width:min(238px,calc(100vw - 58px))}
}
@media(prefers-reduced-motion:reduce){.slegsat-line,.slegsat-series,.slegsat-dot,.slegsat-chart-tooltip,.slegsat-legend-pill{transition:none!important;animation:none!important}}

/* =========================================================
   v0.3.0-beta — editorial research palette + spacing chart
   ========================================================= */

/* Distinct GSAT hero: warm aubergine / mineral green / bronze.
   Deliberately avoids the blue SaaS look used by the admissions module. */
.slegsat-hero{
  isolation:isolate;
  padding:34px 36px 30px;
  background:
    radial-gradient(circle at 88% 4%,rgba(214,177,122,.20),transparent 27%),
    radial-gradient(circle at 8% 112%,rgba(83,149,128,.22),transparent 34%),
    linear-gradient(126deg,#211a1e 0%,#4a3038 51%,#2e4944 100%);
  box-shadow:inset 0 -1px rgba(255,255,255,.055);
}
.slegsat-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.26;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.65),transparent 72%);
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.65),transparent 72%);
}
.slegsat-hero:after{
  right:-110px;
  bottom:-155px;
  width:365px;
  height:365px;
  background:rgba(236,215,182,.055);
  box-shadow:0 0 0 55px rgba(255,255,255,.018);
}
.slegsat-eyebrow{color:#eadbc7;letter-spacing:.14em}
.slegsat-subtitle{color:#eee8e5;max-width:820px}
.slegsat-badge{
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.15);
  color:#f6f1ee;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.slegsat-badge--verified{
  color:#eafff8;
  background:rgba(45,125,105,.28);
  border-color:rgba(139,215,192,.32);
}

/* Professional interactive spacing trend */
.slegsat-chart-card--spacing{
  position:relative;
  overflow:hidden;
  padding:22px 22px 18px;
  border-color:#e8e4e5;
  background:
    radial-gradient(circle at 92% 3%,rgba(166,119,82,.045),transparent 28%),
    radial-gradient(circle at 8% 104%,rgba(47,117,103,.035),transparent 30%),
    linear-gradient(180deg,#fff 0%,#fffdfd 100%);
  box-shadow:0 18px 50px rgba(49,31,39,.065);
}
.slegsat-chart-card--spacing:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  opacity:.78;
  background:linear-gradient(90deg,#a24f5e,#a8762b,#2f7567,#416c94,#76558d,#46565a);
}
.slegsat-chart-card--spacing .slegsat-chart-kicker{color:#9b888c}
.slegsat-chart-card--spacing .slegsat-chart-title{font-size:16px;color:#2e2529;letter-spacing:-.01em}
.slegsat-chart-card--spacing .slegsat-chart-copy{color:#8a7d82}
.slegsat-chart-card--spacing .slegsat-chart-meta span{
  border-color:#ebe4e6;
  background:#fbf8f8;
  color:#7b7075;
}
.slegsat-interactive-chart--spacing{
  position:relative;
  margin-top:6px;
  min-height:290px;
}
.slegsat-svg--spacing{overflow:visible}
.slegsat-grid-line--spacing{stroke:#eee9ea;stroke-dasharray:2 6}
.slegsat-spacing-line{stroke-width:2.55}
.slegsat-spacing-series.is-hover-focus .slegsat-spacing-line{stroke-width:3.65}
.slegsat-spacing-dot{filter:url(#slegsat-spacing-dot-shadow)}
.slegsat-chart-tooltip--spacing{
  width:276px;
  border-color:rgba(231,222,225,.98);
  box-shadow:0 18px 44px rgba(51,32,40,.17);
}
.slegsat-chart-tooltip--spacing .slegsat-tooltip-row{
  grid-template-columns:minmax(0,1fr) 72px 73px;
}
.slegsat-chart-tooltip--spacing .slegsat-tooltip-row strong{
  text-align:right;
  font-size:10.5px;
}
.slegsat-chart-tooltip--spacing .slegsat-tooltip-delta{font-size:9.25px}

.slegsat-trend-rail{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
  padding-top:14px;
  border-top:1px solid #f0ebec;
}
.slegsat-trend-chip{
  all:unset!important;
  box-sizing:border-box!important;
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
  min-height:74px!important;
  padding:10px 10px 9px!important;
  border:1px solid #ece7e8!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#4d4649!important;
  cursor:pointer!important;
  box-shadow:0 1px 0 rgba(54,38,45,.02)!important;
  transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
.slegsat-trend-chip:hover{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--trend-color,#7a6f74) 38%,#e9e4e6)!important;
  background:#fffdfd!important;
  box-shadow:0 8px 20px rgba(55,38,45,.055)!important;
}
.slegsat-trend-chip:focus-visible{
  outline:3px solid rgba(122,82,105,.16)!important;
  outline-offset:2px!important;
}
.slegsat-trend-chip.is-active{
  border-color:color-mix(in srgb,var(--trend-color,#6f5b66) 56%,#ddd5d8)!important;
  background:color-mix(in srgb,var(--trend-color,#6f5b66) 5%,#fff)!important;
  box-shadow:inset 0 3px 0 var(--trend-color,#6f5b66),0 7px 18px rgba(55,38,45,.05)!important;
}
.slegsat-trend-chip--all{--trend-color:#5f555a}
.slegsat-trend-chip-label{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:#777075;
  font-size:10.5px;
  font-weight:850;
  white-space:nowrap;
}
.slegsat-trend-chip-label i{
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--trend-color,#5f555a);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--trend-color,#5f555a) 10%,transparent);
}
.slegsat-trend-chip strong{
  overflow:hidden;
  color:#302a2d;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.slegsat-trend-chip small{
  overflow:hidden;
  color:#9a9296;
  font-size:8.8px;
  line-height:1.3;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.slegsat-trend-chip small[data-tone="up"]{color:#317361}
.slegsat-trend-chip small[data-tone="down"]{color:#a85b55}
.slegsat-trend-chip small[data-tone="same"]{color:#8e878a}

@media(max-width:1080px){
  .slegsat-trend-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
  .slegsat-hero{padding:27px 20px 24px}
  .slegsat-chart-card--spacing{padding:18px 12px 14px}
  .slegsat-interactive-chart--spacing{overflow-x:auto;overflow-y:visible;padding-bottom:5px}
  .slegsat-svg--spacing{min-width:680px}
  .slegsat-chart-tooltip--spacing{position:sticky;left:8px!important;top:8px!important;margin:-6px 0 8px;width:min(276px,calc(100vw - 52px))}
  .slegsat-trend-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
  .slegsat-trend-chip{min-height:68px!important;padding:9px!important}
  .slegsat-trend-chip strong{font-size:13px}
}

/* =========================================================
   v0.4.0-beta — signature indigo visual system
   Reference base: #4E47DD, inspired by the user's selected UI sample.
   The admissions module remains navy/royal-blue; GSAT uses luminous indigo-violet.
   ========================================================= */
.slegsat-app{
  --sg-primary:#4E47DD;
  --sg-primary-dark:#3F39C7;
  --sg-primary-soft:#F2F1FF;
  --sg-bg:#F8F8FC;
  --sg-text:#17172A;
  --sg-muted:#707386;
  --sg-line:#E8E8F0;
  background:
    radial-gradient(circle at 88% -10%,rgba(78,71,221,.055),transparent 29rem),
    linear-gradient(180deg,#FBFBFE 0%,#F7F7FB 100%);
  border-color:#EBEBF2;
  box-shadow:0 22px 64px rgba(48,43,130,.055);
}

/* Hero / banner — close to the provided #4E47DD reference, but with restrained depth. */
.slegsat-hero{
  isolation:isolate;
  padding:34px 36px 30px;
  background:
    radial-gradient(circle at 83% -16%,rgba(255,255,255,.20),transparent 34%),
    radial-gradient(circle at 7% 115%,rgba(178,171,255,.18),transparent 35%),
    linear-gradient(124deg,#3933BA 0%,#4E47DD 48%,#625CF0 100%);
  box-shadow:
    inset 0 -1px rgba(255,255,255,.12),
    0 18px 44px rgba(61,55,181,.12);
}
.slegsat-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.23;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.46),transparent 72%);
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.46),transparent 72%);
}
.slegsat-hero:after{
  right:-105px;
  bottom:-168px;
  width:390px;
  height:390px;
  background:rgba(255,255,255,.055);
  box-shadow:0 0 0 62px rgba(255,255,255,.018);
}
.slegsat-eyebrow{color:#DAD8FF;letter-spacing:.145em}
.slegsat-title{color:#fff!important;text-shadow:0 2px 16px rgba(32,27,122,.12)}
.slegsat-subtitle{color:#ECEBFF;max-width:820px}
.slegsat-badge{
  background:rgba(255,255,255,.105);
  border-color:rgba(255,255,255,.22);
  color:#fff;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.slegsat-badge--verified{
  color:#F5FFFD;
  background:rgba(17,119,111,.20);
  border-color:rgba(166,245,235,.30);
}

/* Signature interaction language: same family, distinct from the admissions blue. */
.slegsat-toolbar{background:rgba(255,255,255,.95);border-bottom-color:#E9E9F1}
.slegsat-tab{border-color:#E7E7EF!important;color:#64677A!important}
.slegsat-tab:hover{border-color:#CECBFA!important;color:#4E47DD!important;background:#FAFAFF!important}
.slegsat-tab.is-active{
  border-color:#4E47DD!important;
  background:#4E47DD!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(78,71,221,.22)!important;
}
.slegsat-year.is-active{background:#29284A!important;border-color:#29284A!important;color:#fff!important}
.slegsat-btn--primary{background:#4E47DD!important;border-color:#4E47DD!important;color:#fff!important;box-shadow:0 7px 18px rgba(78,71,221,.14)!important}
.slegsat-btn--primary:hover{background:#4039C7!important;border-color:#4039C7!important;transform:translateY(-1px)}
.slegsat-btn--soft{background:#F2F1FF!important;border-color:#DCD9FF!important;color:#4740CA!important}
.slegsat-input:focus,.slegsat-select:focus{border-color:#4E47DD!important;box-shadow:0 0 0 3px rgba(78,71,221,.11)!important}
.slegsat-subject.is-active{border-color:#D7D4FF!important;background:#F2F1FF!important;color:#4942D0!important}
.slegsat-spacing:hover,.slegsat-spacing.is-active{border-color:#D6D3FF;background:#F7F6FF}
.slegsat-table .slegsat-sticky,.slegsat-source-link{color:#4E47DD!important}
.slegsat-table tbody tr:hover td,.slegsat-table tbody tr:hover .slegsat-sticky{background:#F8F7FF}
.slegsat-result{background:radial-gradient(circle at 72% 13%,rgba(78,71,221,.06),transparent 34%),linear-gradient(145deg,#fff,#F8F7FF);border-color:#E2E0FF}
.slegsat-grade{color:#4E47DD}
.slegsat-kpi--accent{background:#F5F4FF;border-color:#E3E1FF}
.slegsat-kpi--accent .slegsat-kpi-value{color:#4E47DD}
.slegsat-disclaimer{border-left-color:#4E47DD;background:#F4F3FF}
.slegsat-explore{
  background:linear-gradient(135deg,#4039C7,#4E47DD 56%,#6A63F3)!important;
  box-shadow:0 15px 36px rgba(78,71,221,.28)!important;
}
.slegsat-explore:hover{box-shadow:0 19px 42px rgba(78,71,221,.34)!important}
.slegsat-modal-head{
  background:
    radial-gradient(circle at 84% -10%,rgba(255,255,255,.18),transparent 32%),
    linear-gradient(124deg,#3933BA,#4E47DD 55%,#625CF0);
}
.slegsat-year-card-grade{color:#4E47DD}
.slegsat-heat-cell.is-selected{outline-color:#4E47DD}

/* Five-standard chart: keep multiseries colors, but move chrome to the new indigo system. */
.slegsat-chart-card--premium{
  border-color:#E8E6F5;
  background:radial-gradient(circle at 88% 0%,rgba(78,71,221,.045),transparent 29%),linear-gradient(180deg,#fff 0%,#FEFEFF 100%);
  box-shadow:0 18px 50px rgba(55,50,150,.065);
}
.slegsat-chart-card--premium .slegsat-chart-title{color:#24243A}
.slegsat-chart-meta span{border-color:#E9E7F5;background:#FBFAFF;color:#737184}
.slegsat-crosshair{stroke:#7770DA}
.slegsat-hover-zone:focus{stroke:#4E47DD}
.slegsat-chart-tooltip{border-color:rgba(226,223,248,.98);box-shadow:0 16px 40px rgba(57,51,153,.16)}
.slegsat-tooltip-row.is-focus{background:#F5F4FF}
.slegsat-legend-pill:hover{border-color:#D8D4FF!important;background:#FBFAFF!important}
.slegsat-legend-pill.is-active{border-color:#DCD9F8!important;background:#F5F4FF!important;color:#2E2C48!important}

/* Spacing trend: retain its strong interaction model; restyle its chrome to match the new product identity. */
.slegsat-chart-card--spacing{
  border-color:#E8E7F3;
  background:
    radial-gradient(circle at 92% 3%,rgba(78,71,221,.048),transparent 28%),
    radial-gradient(circle at 7% 105%,rgba(99,92,240,.025),transparent 31%),
    linear-gradient(180deg,#fff 0%,#FEFEFF 100%);
  box-shadow:0 18px 50px rgba(55,50,150,.06);
}
.slegsat-chart-card--spacing:before{
  opacity:.82;
  background:linear-gradient(90deg,#4E47DD,#736DF4,#2F7567,#416C94,#8A5E9E,#505B68);
}
.slegsat-chart-card--spacing .slegsat-chart-kicker{color:#8C89B2}
.slegsat-chart-card--spacing .slegsat-chart-title{color:#26253D}
.slegsat-chart-card--spacing .slegsat-chart-copy{color:#838293}
.slegsat-chart-card--spacing .slegsat-chart-meta span{border-color:#E9E7F4;background:#FBFAFF;color:#757386}
.slegsat-grid-line--spacing{stroke:#ECEAF5}
.slegsat-chart-tooltip--spacing{border-color:rgba(229,226,248,.98);box-shadow:0 18px 44px rgba(57,51,153,.16)}
.slegsat-trend-rail{border-top-color:#EFEEF6}
.slegsat-trend-chip{border-color:#ECEAF3!important;color:#515064!important}
.slegsat-trend-chip:hover{background:#FCFBFF!important;box-shadow:0 8px 20px rgba(58,52,149,.055)!important}
.slegsat-trend-chip:focus-visible{outline-color:rgba(78,71,221,.18)!important}
.slegsat-trend-chip--all{--trend-color:#4E47DD}
.slegsat-trend-chip-label{color:#767487}
.slegsat-trend-chip strong{color:#2E2D43}
.slegsat-trend-chip small{color:#9694A4}

@media(max-width:700px){.slegsat-hero{padding:27px 20px 24px}}


/* =========================================================
   v1.0.1 — 116 GSAT official-schedule countdown
   ========================================================= */
.slegsat-countdown-wrap{padding:22px 24px 0;background:linear-gradient(180deg,#F8F8FC 0%,#FBFBFE 100%)}
.slegsat-countdown{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:24px 28px;
  border:1px solid #DCD9FF;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% -12%,rgba(78,71,221,.075),transparent 28rem),
    linear-gradient(145deg,#FFFFFF 0%,#FCFCFF 100%);
  box-shadow:0 14px 34px rgba(55,50,150,.075);
}
.slegsat-countdown-copy{display:flex;align-items:center;gap:18px;min-width:0}
.slegsat-countdown-icon{
  flex:0 0 auto;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;
  color:#4E47DD;background:#F2F1FF;border:1px solid #DDDAFF;box-shadow:inset 0 1px #fff
}
.slegsat-countdown-icon svg{width:28px;height:28px}
.slegsat-countdown-kicker{margin:0 0 3px;color:#8A87A4;font-size:10px;font-weight:800;letter-spacing:.15em}
.slegsat-countdown-title{margin:0!important;color:#262638!important;font-size:clamp(21px,2.2vw,28px)!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.02em}
.slegsat-countdown-date{margin:8px 0 0;color:#68708A;font-size:15px;letter-spacing:.03em}
.slegsat-countdown-source{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:#4E47DD!important;font-size:12px;font-weight:700;text-decoration:none!important}
.slegsat-countdown-source:hover{text-decoration:underline!important}
.slegsat-countdown-clock{display:grid;grid-template-columns:repeat(4,92px);gap:10px}
.slegsat-countdown-unit{text-align:center}
.slegsat-countdown-unit strong{
  display:grid;place-items:center;min-height:82px;padding:8px 4px;border:1px solid #E1DFFF;border-radius:15px;
  background:#fff;color:#4E47DD;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:clamp(31px,3.2vw,42px);font-weight:800;line-height:1;letter-spacing:-.045em;
  box-shadow:0 8px 20px rgba(78,71,221,.075)
}
.slegsat-countdown-unit span{display:block;margin-top:8px;color:#9A9DB0;font-size:11px;font-weight:700}
@media(max-width:980px){
  .slegsat-countdown{grid-template-columns:1fr;gap:20px}
  .slegsat-countdown-clock{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:560px){
  .slegsat-countdown-wrap{padding:14px 12px 0}
  .slegsat-countdown{padding:19px 16px;border-radius:18px;gap:17px}
  .slegsat-countdown-copy{gap:12px;align-items:flex-start}
  .slegsat-countdown-icon{width:46px;height:46px;border-radius:14px}
  .slegsat-countdown-icon svg{width:23px;height:23px}
  .slegsat-countdown-date{font-size:13px}
  .slegsat-countdown-clock{gap:7px}
  .slegsat-countdown-unit strong{min-height:61px;border-radius:12px;font-size:25px}
  .slegsat-countdown-unit span{margin-top:6px;font-size:10px}
}


/* =========================================================
   v1.0.2 — countdown icon host-theme isolation hotfix
   ========================================================= */
.slegsat-app .slegsat-countdown-icon{
  overflow:hidden!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
}
.slegsat-app .slegsat-countdown-icon svg{
  display:block!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
  overflow:visible!important;
}
.slegsat-app .slegsat-countdown-icon svg path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  vector-effect:non-scaling-stroke;
}
@media(max-width:560px){
  .slegsat-app .slegsat-countdown-icon{
    width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;max-width:46px!important;max-height:46px!important;
  }
  .slegsat-app .slegsat-countdown-icon svg{
    width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;max-width:23px!important;max-height:23px!important;
  }
}


/* =========================================================
   v1.1.0 — Mobile Production QA / RWD polish
   Target widths: 390 / 393 / 430 / 768 px
   ========================================================= */
body.slegsat-body-locked{overflow:hidden!important;overscroll-behavior:none!important}
.slegsat-app{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.slegsat-app button,.slegsat-app a,.slegsat-app input,.slegsat-app select{-webkit-tap-highlight-color:transparent}
.slegsat-table-wrap,.slegsat-tabs,.slegsat-years,.slegsat-modal-tabs,.slegsat-interactive-chart,.slegsat-heat-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.slegsat-tabs,.slegsat-years,.slegsat-modal-tabs{scroll-snap-type:x proximity;scrollbar-width:none}
.slegsat-tabs::-webkit-scrollbar,.slegsat-years::-webkit-scrollbar,.slegsat-modal-tabs::-webkit-scrollbar{display:none}
.slegsat-tab,.slegsat-year,.slegsat-modal-tabs .slegsat-tab{scroll-snap-align:start}
.slegsat-hover-zone[aria-pressed="true"]{stroke:#4E47DD;stroke-width:1.25;stroke-dasharray:4 5}

@media(max-width:768px){
  .slegsat-app{border-radius:18px}
  .slegsat-hero{padding:28px 20px 24px}
  .slegsat-title{font-size:clamp(27px,8vw,34px)!important;line-height:1.16!important}
  .slegsat-subtitle{font-size:13px;line-height:1.65}
  .slegsat-hero-meta{gap:7px;margin-top:15px}
  .slegsat-badge{min-height:28px;padding:4px 9px;font-size:10.5px}
  .slegsat-toolbar{padding:12px 14px;gap:10px}
  .slegsat-tabs{width:100%;gap:6px;padding:0 1px 4px}
  .slegsat-tab{min-height:42px;padding:8px 13px!important;font-size:12.5px!important}
  .slegsat-years{width:100%;padding:1px 1px 2px}
  .slegsat-year{min-width:54px;min-height:38px}
  .slegsat-main{padding:16px 14px 18px}
  .slegsat-section{gap:14px}
  .slegsat-h2{font-size:19px!important}
  .slegsat-copy{font-size:12.5px;line-height:1.6}
  .slegsat-card{border-radius:16px}
  .slegsat-card-pad{padding:16px}
  .slegsat-btn{min-height:44px!important;padding:9px 13px!important}
  .slegsat-input,.slegsat-select{min-height:48px;font-size:16px!important}
  .slegsat-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
  .slegsat-subject{width:100%;min-height:42px;padding:7px 6px!important}
  .slegsat-spacing{padding:12px 8px}
  .slegsat-spacing-value{font-size:15px}
  .slegsat-table-wrap{max-height:560px;touch-action:pan-x pan-y}
  .slegsat-table{font-size:12.5px}
  .slegsat-table th,.slegsat-table td{padding:10px 11px}
  .slegsat-table .slegsat-sticky{min-width:58px}
  .slegsat-kpi{padding:12px 13px}
  .slegsat-source{padding:15px;margin-top:14px}
  .slegsat-source-links{display:grid;gap:9px}
  .slegsat-source-link{display:block;min-height:34px;padding:6px 0}
  .slegsat-footer{padding:14px 15px}

  /* Charts remain information-dense: horizontal pan is intentional, touch tap pins tooltip. */
  .slegsat-interactive-chart,.slegsat-interactive-chart--spacing{touch-action:pan-x pan-y}
  .slegsat-svg--standards{min-width:560px}
  .slegsat-svg--spacing{min-width:620px}
  .slegsat-chart-tooltip,.slegsat-chart-tooltip--spacing{
    position:sticky!important;left:8px!important;top:8px!important;
    width:min(276px,calc(100vw - 54px));max-width:calc(100% - 16px);margin:-4px 0 9px;
  }
  .slegsat-chart-card--premium,.slegsat-chart-card--spacing{padding:17px 12px 14px}
  .slegsat-chart-title{font-size:15px!important}
  .slegsat-chart-copy{font-size:11px!important;line-height:1.55}
  .slegsat-legend--interactive{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .slegsat-legend--interactive::-webkit-scrollbar{display:none}
  .slegsat-legend-pill{flex:0 0 auto;min-height:36px;padding:7px 10px!important}
  .slegsat-trend-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .slegsat-trend-chip{min-height:70px!important}

  /* Modal / iOS Safari safe-area behavior. */
  .slegsat-modal-backdrop{padding:0;align-items:stretch}
  .slegsat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0}
  .slegsat-modal-head{padding:max(16px,env(safe-area-inset-top)) 16px 15px}
  .slegsat-modal-title{font-size:18px}
  .slegsat-modal-copy{font-size:11.5px;line-height:1.5}
  .slegsat-modal-close{flex:0 0 42px;width:42px;height:42px}
  .slegsat-modal-tabs{padding:10px 12px}
  .slegsat-modal-body{padding:12px 12px calc(14px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .slegsat-year-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .slegsat-year-card{min-height:145px;padding:13px}
  .slegsat-year-card-grade{font-size:38px}
  .slegsat-heat-wrap{touch-action:pan-x pan-y}
  .slegsat-duel-row{grid-template-columns:42px minmax(0,1fr) 62px;gap:6px;padding:7px}
  .slegsat-explore{left:max(12px,env(safe-area-inset-left))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;min-height:46px!important}
}

@media(max-width:560px){
  .slegsat-app{border-radius:14px}
  .slegsat-hero{padding:24px 17px 21px}
  .slegsat-eyebrow{font-size:10.5px}
  .slegsat-title{font-size:27px!important}
  .slegsat-hero-meta .slegsat-badge:last-child{display:none}
  .slegsat-countdown-wrap{padding:12px 10px 0}
  .slegsat-countdown{padding:16px 13px;border-radius:17px;gap:15px}
  .slegsat-countdown-copy{gap:11px}
  .slegsat-countdown-title{font-size:20px!important}
  .slegsat-countdown-date{margin-top:6px;font-size:12.5px;line-height:1.45}
  .slegsat-countdown-source{margin-top:7px;font-size:11px;line-height:1.45}
  .slegsat-countdown-clock{gap:6px}
  .slegsat-countdown-unit strong{min-height:56px;padding:6px 2px;font-size:23px;border-radius:11px}
  .slegsat-countdown-unit span{margin-top:5px;font-size:9.5px}
  .slegsat-toolbar{padding:10px 11px}
  .slegsat-main{padding:13px 10px 17px}
  .slegsat-section-head{gap:8px}
  .slegsat-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .slegsat-btn{width:100%}
  .slegsat-spacing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .slegsat-spacing{min-height:72px;display:flex;flex-direction:column;justify-content:center}
  .slegsat-subjects{grid-template-columns:repeat(3,minmax(0,1fr))}
  .slegsat-result{min-height:235px;padding:18px}
  .slegsat-grade{font-size:64px}
  .slegsat-kpis{grid-template-columns:1fr 1fr;gap:8px}
  .slegsat-kpis .slegsat-kpi:last-child:nth-child(odd){grid-column:1/-1}
  .slegsat-trend-chip{min-height:66px!important;padding:8px!important}
  .slegsat-trend-chip strong{font-size:12.5px}
  .slegsat-trend-chip small{font-size:8.3px}
  .slegsat-year-cards{grid-template-columns:1fr}
  .slegsat-footer{align-items:flex-start;flex-direction:column;gap:6px;padding:12px 11px}
}

@media(max-width:420px){
  .slegsat-title{font-size:25px!important}
  .slegsat-main{padding-left:9px;padding-right:9px}
  .slegsat-subject{font-size:11.5px!important}
  .slegsat-countdown-unit strong{font-size:21px}
  .slegsat-countdown-icon{display:none!important}
  .slegsat-countdown-copy{display:block}
  .slegsat-chart-tooltip,.slegsat-chart-tooltip--spacing{width:calc(100vw - 42px)}
  .slegsat-kpis{grid-template-columns:1fr}
  .slegsat-kpis .slegsat-kpi:last-child:nth-child(odd){grid-column:auto}
}

@media(hover:none) and (pointer:coarse){
  .slegsat-btn:hover,.slegsat-tab:hover,.slegsat-subject:hover,.slegsat-trend-chip:hover,.slegsat-legend-pill:hover{transform:none!important}
  .slegsat-hover-zone{cursor:pointer}
}

/* =========================================================
   v1.1.1 — Mobile horizontal-scroll hotfix
   Fixes iPhone/WordPress theme width inheritance + table panning.
   ========================================================= */
.slegsat-app,
.slegsat-shell,
.slegsat-main,
.slegsat-section,
.slegsat-section-head,
.slegsat-card,
.slegsat-spacing-grid,
.slegsat-table-card,
.slegsat-table-wrap{
  min-width:0!important;
  max-width:100%!important;
}
.slegsat-main,.slegsat-section,.slegsat-table-card{width:100%!important}
.slegsat-spacing-grid{width:100%!important}
.slegsat-app .slegsat-spacing{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.slegsat-table-card{
  position:relative;
  overflow:hidden!important;
}
.slegsat-table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#c7c9d7 transparent;
}
.slegsat-table-wrap::-webkit-scrollbar{height:6px;width:6px}
.slegsat-table-wrap::-webkit-scrollbar-track{background:transparent}
.slegsat-table-wrap::-webkit-scrollbar-thumb{background:#c7c9d7;border-radius:999px}
.slegsat-table{
  max-width:none!important;
}
.slegsat-scroll-hint{
  display:none;
}

@media(max-width:768px){
  /* Force true inner overflow. Without this, some WP themes let the table
     expand its ancestors, so the page clips instead of the table scrolling. */
  .slegsat-table--grade{width:920px!important;min-width:920px!important}
  .slegsat-table--compare{width:720px!important;min-width:720px!important}
  .slegsat-table--standards{width:640px!important;min-width:640px!important}
  .slegsat-table th,.slegsat-table td{min-width:112px}
  .slegsat-table--grade .slegsat-sticky{width:62px!important;min-width:62px!important;max-width:62px!important}
  .slegsat-table--compare th:first-child,.slegsat-table--compare td:first-child{min-width:70px}
  .slegsat-table--standards th:first-child,.slegsat-table--standards td:first-child{min-width:82px}

  .slegsat-scroll-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:34px;
    padding:7px 10px;
    border-bottom:1px solid #ececf5;
    background:linear-gradient(90deg,#F8F7FF,#FCFCFF);
    color:#5f5b76;
    font-size:11.5px;
    font-weight:750;
    letter-spacing:.01em;
    transition:opacity .18s ease,max-height .18s ease,padding .18s ease,min-height .18s ease;
  }
  .slegsat-scroll-hint span{color:#4E47DD;font-size:15px;line-height:1}
  .slegsat-scroll-hint.is-hidden{
    opacity:0;
    min-height:0;
    max-height:0;
    padding-top:0;
    padding-bottom:0;
    border-bottom:0;
    overflow:hidden;
  }
  .slegsat-scroll-hint.is-touching{background:#F3F1FF;color:#4E47DD}

  /* Preserve the fixed grade column while the remaining six subjects pan. */
  .slegsat-table--grade .slegsat-sticky{
    position:sticky!important;
    left:0!important;
    z-index:5!important;
  }
  .slegsat-table--grade thead .slegsat-sticky{z-index:7!important}
}

@media(max-width:560px){
  .slegsat-main,.slegsat-section,.slegsat-section-head,.slegsat-spacing-grid,.slegsat-card{min-width:0!important}
  .slegsat-spacing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .slegsat-app .slegsat-spacing{overflow:hidden!important}
  .slegsat-spacing-label,.slegsat-spacing-value,.slegsat-spacing-note{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .slegsat-table-wrap{max-height:560px!important}
}
