/*!
 * Sunlectric Academy runtime styles: exam, review, certificate, progress, dashboard, simulators.
 * House style of website/src/index.src.html (Sunrise tokens + 4 more schemes via [data-scheme], light/dark).
 * The scheme tokens below sit in a cascade layer, so the site's own (unlayered) tokens in /assets/site.css
 * always win; they only fill in when academy pages are rendered without the site stylesheet.
 * Every class is prefixed "sa-". Mount points: see CONTRACT.md.
 */
@layer sun-tokens{
/*SCHEMES:BEGIN generated by schemes.py: every scheme defines the full token set. Default = Sunrise.*/
:root{
--paper:#FFFFFF;--paper-2:#F4F6F9;--paper-ink:#00396A;--paper-text:#1A2633;--paper-muted:#4F5B69;--paper-line:#DDE3EA;--paper-line-strong:#7D8896;--paper-head:#EDF1F6;
}
:root,[data-scheme="sunrise"]{
--bg:#F8F4EC;--surface:#FFFFFF;--sunk:#F1EADD;--ink:#00396A;--text:#1F2A37;--muted:#5A5F69;--line:#E6DDCD;--line-strong:#8C8273;
--shadow:rgba(60,40,0,.14);--amber:#FFA900;--amber-deep:#B87300;--on-amber:#00294D;--amber-bg:#FFEFC8;--amber-text:#7A4C00;--sel-bg:#00396A;
--sel-fg:#FFFFFF;--accent:#00396A;--board:#00396A;--board-2:#0B4A80;--board-fg:#FFFFFF;--board-dim:#BCD0E4;--board-line:#3A6E9F;--board-num:#FFB31A;
--hero-bg:#00396A;--hero-fg:#FFFFFF;--hero-dim:#BCD0E4;--hero-accent:#FFB31A;--hero-panel:#0B4A80;--hero-panel-fg:#FFFFFF;--hero-panel-dim:#BCD0E4;
--hero-panel-line:#3A6E9F;--hero-panel-num:#FFB31A;--hero-mark-op:.09;--hero-ghost:#FFFFFF;--hero-ghost-line:#6F98C2;
--hdr-bg:#FFFFFF;--hdr-fg:#00396A;--hdr-muted:#5A5F69;--hdr-line:#E6DDCD;--hdr-ctl:#8C8273;--nav-on-bg:#00396A;
--nav-on-fg:#FFFFFF;--tab-bg:#FFFFFF;--tab-fg:#5A5F69;--tab-on-fg:#00396A;--tab-on-bg:#00396A;--tab-on-icon:#FFB31A;
--foot-bg:#00396A;--foot-fg:#FFFFFF;--foot-dim:#BCD0E4;--foot-line:#3A6E9F;--foot-accent:#FFB31A;
--ok:#0B7A6E;--ok-bg:#DCF1EC;--ok-text:#05584F;--up:#B3312F;--down:#17784A;--danger:#B3312F;--wa:#0E7C3A;
--on-wa:#FFFFFF;--focus:#0B6BCB;--scrim:rgba(0,22,44,.55);color-scheme:light;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]):where(:not([data-scheme]),[data-scheme="sunrise"]){
--bg:#06182C;--surface:#0C2541;--sunk:#081E36;--ink:#F2F6FB;--text:#DCE6F1;--muted:#A3B8CE;--line:#1B3D61;--line-strong:#5C82AA;
--shadow:rgba(0,0,0,.55);--amber:#FFA900;--amber-deep:#FFB733;--on-amber:#00294D;--amber-bg:#3A2A06;--amber-text:#FFC452;--sel-bg:#FFA900;
--sel-fg:#00294D;--accent:#FFC452;--board:#0B3560;--board-2:#114376;--board-fg:#FFFFFF;--board-dim:#B0C8E0;--board-line:#3D6E9F;--board-num:#FFB31A;
--hero-bg:#0B3560;--hero-fg:#FFFFFF;--hero-dim:#B0C8E0;--hero-accent:#FFB31A;--hero-panel:#114376;--hero-panel-fg:#FFFFFF;--hero-panel-dim:#B0C8E0;
--hero-panel-line:#3D6E9F;--hero-panel-num:#FFB31A;--hero-mark-op:.09;--hero-ghost:#FFFFFF;--hero-ghost-line:#6F98C2;
--hdr-bg:#0C2541;--hdr-fg:#F2F6FB;--hdr-muted:#A3B8CE;--hdr-line:#1B3D61;--hdr-ctl:#5C82AA;--nav-on-bg:#FFA900;
--nav-on-fg:#00294D;--tab-bg:#0C2541;--tab-fg:#A3B8CE;--tab-on-fg:#F2F6FB;--tab-on-bg:#FFA900;--tab-on-icon:#00294D;
--foot-bg:#041222;--foot-fg:#FFFFFF;--foot-dim:#BCD0E4;--foot-line:#3A6E9F;--foot-accent:#FFB31A;
--ok:#1FB5A4;--ok-bg:#093B39;--ok-text:#62D9CA;--up:#FF8A80;--down:#6BD69B;--danger:#FF8A80;--wa:#0E7C3A;
--on-wa:#FFFFFF;--focus:#7CC4FF;--scrim:rgba(0,22,44,.55);color-scheme:dark;
}
}
:root[data-theme="dark"]:where(:not([data-scheme]),[data-scheme="sunrise"]){
--bg:#06182C;--surface:#0C2541;--sunk:#081E36;--ink:#F2F6FB;--text:#DCE6F1;--muted:#A3B8CE;--line:#1B3D61;--line-strong:#5C82AA;
--shadow:rgba(0,0,0,.55);--amber:#FFA900;--amber-deep:#FFB733;--on-amber:#00294D;--amber-bg:#3A2A06;--amber-text:#FFC452;--sel-bg:#FFA900;
--sel-fg:#00294D;--accent:#FFC452;--board:#0B3560;--board-2:#114376;--board-fg:#FFFFFF;--board-dim:#B0C8E0;--board-line:#3D6E9F;--board-num:#FFB31A;
--hero-bg:#0B3560;--hero-fg:#FFFFFF;--hero-dim:#B0C8E0;--hero-accent:#FFB31A;--hero-panel:#114376;--hero-panel-fg:#FFFFFF;--hero-panel-dim:#B0C8E0;
--hero-panel-line:#3D6E9F;--hero-panel-num:#FFB31A;--hero-mark-op:.09;--hero-ghost:#FFFFFF;--hero-ghost-line:#6F98C2;
--hdr-bg:#0C2541;--hdr-fg:#F2F6FB;--hdr-muted:#A3B8CE;--hdr-line:#1B3D61;--hdr-ctl:#5C82AA;--nav-on-bg:#FFA900;
--nav-on-fg:#00294D;--tab-bg:#0C2541;--tab-fg:#A3B8CE;--tab-on-fg:#F2F6FB;--tab-on-bg:#FFA900;--tab-on-icon:#00294D;
--foot-bg:#041222;--foot-fg:#FFFFFF;--foot-dim:#BCD0E4;--foot-line:#3A6E9F;--foot-accent:#FFB31A;
--ok:#1FB5A4;--ok-bg:#093B39;--ok-text:#62D9CA;--up:#FF8A80;--down:#6BD69B;--danger:#FF8A80;--wa:#0E7C3A;
--on-wa:#FFFFFF;--focus:#7CC4FF;--scrim:rgba(0,22,44,.55);color-scheme:dark;
}
[data-scheme="sky"]{
--bg:#F5F8FC;--surface:#FFFFFF;--sunk:#EAF1F9;--ink:#00396A;--text:#102A43;--muted:#4A6380;--line:#DCE5F0;--line-strong:#6C84A0;
--shadow:rgba(0,57,106,.12);--amber:#FFA900;--amber-deep:#1C6DD0;--on-amber:#00294D;--amber-bg:#E3EFFC;--amber-text:#14569F;--sel-bg:#1C6DD0;
--sel-fg:#FFFFFF;--accent:#1C6DD0;--board:#EAF3FD;--board-2:#FFFFFF;--board-fg:#0B2545;--board-dim:#45607D;--board-line:#C3D6EC;--board-num:#00396A;
--hero-bg:linear-gradient(180deg,#E6F1FD 0%,#F5F8FC 100%);--hero-fg:#00396A;--hero-dim:#3F5873;--hero-accent:#14569F;--hero-panel:#FFFFFF;
--hero-panel-fg:#0B2545;--hero-panel-dim:#45607D;--hero-panel-line:#D3E1F0;--hero-panel-num:#00396A;--hero-mark-op:.06;
--hero-ghost:#00396A;--hero-ghost-line:#6C84A0;--hdr-bg:#FFFFFF;--hdr-fg:#00396A;--hdr-muted:#4A6380;--hdr-line:#DCE5F0;--hdr-ctl:#6C84A0;
--nav-on-bg:#E3EFFC;--nav-on-fg:#14569F;--tab-bg:#FFFFFF;--tab-fg:#4A6380;--tab-on-fg:#14569F;--tab-on-bg:#E3EFFC;
--tab-on-icon:#14569F;--foot-bg:#00396A;--foot-fg:#FFFFFF;--foot-dim:#C2D5E8;
--foot-line:#3A6E9F;--foot-accent:#FFB31A;--ok:#0B7A6E;--ok-bg:#DCF1EC;--ok-text:#05584F;--up:#B3312F;--down:#17784A;
--danger:#B3312F;--wa:#0E7C3A;--on-wa:#FFFFFF;--focus:#1C6DD0;--scrim:rgba(10,30,60,.45);color-scheme:light;
}
[data-scheme="flare"]{
--bg:#FFFFFF;--surface:#FFFFFF;--sunk:#FFF3E3;--ink:#002A4F;--text:#16233A;--muted:#5B5F6B;--line:#F0E2CE;--line-strong:#9A8770;
--shadow:rgba(140,60,0,.16);--amber:#FFA900;--amber-deep:#C2410C;--on-amber:#00294D;--amber-bg:#FFEBD6;--amber-text:#9A3412;--sel-bg:#C2410C;
--sel-fg:#FFFFFF;--accent:#C2410C;--board:#002A4F;--board-2:#0B3A66;--board-fg:#FFFFFF;--board-dim:#BFD0E3;--board-line:#35608C;--board-num:#FFB21A;
--hero-bg:linear-gradient(128deg,#FFB400 0%,#FF9A00 48%,#FF7A00 100%);--hero-fg:#002A4F;--hero-dim:#1C2F4A;--hero-accent:#002A4F;--hero-panel:#FFFFFF;
--hero-panel-fg:#002A4F;--hero-panel-dim:#55585F;--hero-panel-line:#F3DDC2;--hero-panel-num:#C2410C;--hero-mark-op:.10;
--hero-ghost:#002A4F;--hero-ghost-line:#002A4F;--hdr-bg:#FFFFFF;--hdr-fg:#002A4F;--hdr-muted:#5B5F6B;--hdr-line:#FFB400;--hdr-ctl:#9A8770;
--nav-on-bg:#C2410C;--nav-on-fg:#FFFFFF;--tab-bg:#FFFFFF;--tab-fg:#5B5F6B;--tab-on-fg:#9A3412;--tab-on-bg:#FFEBD6;
--tab-on-icon:#C2410C;--foot-bg:#002A4F;--foot-fg:#FFFFFF;--foot-dim:#BFD0E3;
--foot-line:#35608C;--foot-accent:#FFB21A;--ok:#0B7A6E;--ok-bg:#DCF1EC;--ok-text:#05584F;--up:#B3312F;--down:#17784A;
--danger:#B3312F;--wa:#0E7C3A;--on-wa:#FFFFFF;--focus:#0B6BCB;--scrim:rgba(0,22,44,.55);color-scheme:light;
}
[data-scheme="grid"]{
--bg:#F1F8F4;--surface:#FFFFFF;--sunk:#E4F1EA;--ink:#00396A;--text:#14304A;--muted:#4B6862;--line:#D3E6DC;--line-strong:#6E8E84;
--shadow:rgba(10,70,60,.13);--amber:#FFA900;--amber-deep:#0F766E;--on-amber:#00294D;--amber-bg:#FFF0CC;--amber-text:#7A4C00;--sel-bg:#0F766E;
--sel-fg:#FFFFFF;--accent:#0F766E;--board:#0D3D45;--board-2:#145059;--board-fg:#FFFFFF;--board-dim:#B4D6D2;--board-line:#3B7A7F;--board-num:#FFBE3B;
--hero-bg:linear-gradient(150deg,#0D3D45 0%,#0B5F59 100%);--hero-fg:#FFFFFF;--hero-dim:#CBE8E2;--hero-accent:#FFC64F;--hero-panel:#0E4A50;
--hero-panel-fg:#FFFFFF;--hero-panel-dim:#B9DCD6;--hero-panel-line:#3B7A7F;--hero-panel-num:#FFC64F;
--hero-mark-op:.08;--hero-ghost:#FFFFFF;--hero-ghost-line:#7FB5AE;--hdr-bg:#FFFFFF;--hdr-fg:#00396A;--hdr-muted:#4B6862;--hdr-line:#D3E6DC;
--hdr-ctl:#6E8E84;--nav-on-bg:#0F766E;--nav-on-fg:#FFFFFF;--tab-bg:#FFFFFF;--tab-fg:#4B6862;--tab-on-fg:#0B5F59;
--tab-on-bg:#0F766E;--tab-on-icon:#FFFFFF;--foot-bg:#0D3D45;--foot-fg:#FFFFFF;
--foot-dim:#B4D6D2;--foot-line:#3B7A7F;--foot-accent:#FFBE3B;--ok:#0B7A6E;--ok-bg:#D5EFE6;--ok-text:#05584F;
--up:#B3312F;--down:#17784A;--danger:#B3312F;--wa:#0E7C3A;--on-wa:#FFFFFF;--focus:#0B6BCB;--scrim:rgba(0,22,44,.55);
color-scheme:light;
}
[data-scheme="midnight"]{
--bg:#0A1330;--surface:#121C40;--sunk:#0D1737;--ink:#F5F7FF;--text:#DDE3F6;--muted:#A7B1D3;--line:#24305C;--line-strong:#6372A6;
--shadow:rgba(0,0,0,.6);--amber:#FFA900;--amber-deep:#FFB733;--on-amber:#00294D;--amber-bg:#3B2B08;--amber-text:#FFC966;--sel-bg:#FFA900;
--sel-fg:#0A1330;--accent:#FFC966;--board:#1B2155;--board-2:#252C69;--board-fg:#FFFFFF;--board-dim:#BCC3EC;--board-line:#4A539A;--board-num:#FFB733;
--hero-bg:radial-gradient(120% 90% at 85% 0%,rgba(255,169,0,.22) 0%,rgba(255,169,0,0) 55%),linear-gradient(160deg,#0A1330 0%,#1E2160 100%);
--hero-fg:#FFFFFF;--hero-dim:#C3C9EC;--hero-accent:#FFB733;--hero-panel:#1B2155;--hero-panel-fg:#FFFFFF;--hero-panel-dim:#BCC3EC;
--hero-panel-line:#4A539A;--hero-panel-num:#FFB733;--hero-mark-op:.08;--hero-ghost:#FFFFFF;--hero-ghost-line:#7A83C4;
--hdr-bg:#0A1330;--hdr-fg:#F5F7FF;--hdr-muted:#A7B1D3;--hdr-line:#24305C;--hdr-ctl:#6372A6;--nav-on-bg:#FFA900;
--nav-on-fg:#0A1330;--tab-bg:#0D1737;--tab-fg:#A7B1D3;--tab-on-fg:#FFC966;--tab-on-bg:#FFA900;--tab-on-icon:#0A1330;
--foot-bg:#070E25;--foot-fg:#FFFFFF;--foot-dim:#B3BBE3;--foot-line:#2A3566;--foot-accent:#FFB733;
--ok:#2CC2A8;--ok-bg:#0B3A3C;--ok-text:#6FE0CB;--up:#FF9A8F;--down:#74DCA2;--danger:#FF9A8F;--wa:#0E7C3A;
--on-wa:#FFFFFF;--focus:#9FB4FF;--scrim:rgba(2,6,20,.7);color-scheme:dark;
}
/*SCHEMES:END*/
:root{
--f-script:"Noto Sans Devanagari";
--f-display:"Poppins",var(--f-script),"Noto Sans",system-ui,sans-serif;
--f-body:"Noto Sans",var(--f-script),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--lh:1.55;--lh-h:1.18;
}
}

/* ===================================================================== base */
.sa-root{font-family:var(--f-body);color:var(--text);line-height:var(--lh,1.55);
  --sa-r:14px;--sa-r-sm:10px;--sa-track:var(--sunk);--sa-fail-arc:var(--line-strong);
  --sa-ok-b:#3FD0BE;--sa-bad-b:#FF9C92;--sa-pk:rgba(255,169,0,.16);--sa-tint-bad:color-mix(in srgb,var(--danger) 11%,var(--surface));
  --sa-tint-ok:var(--ok-bg)}
[data-scheme="sky"] .sa-root{--sa-ok-b:#0B7A6E;--sa-bad-b:#B3312F;--sa-pk:rgba(28,109,208,.10)}
.sa-root *,.sa-root *::before,.sa-root *::after{box-sizing:border-box}
.sa-root [hidden]{display:none!important}
.sa-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sa-root h1,.sa-root h2,.sa-root h3{font-family:var(--f-display);color:var(--ink);line-height:var(--lh-h,1.2);margin:0;text-wrap:balance}
.sa-h1{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.15rem);font-weight:700;letter-spacing:-.01em}
.sa-h2{font-size:clamp(1.2rem,1rem + .8vw,1.5rem);font-weight:600}
.sa-h3{font-size:1.05rem;font-weight:600;margin-top:1.6rem!important}
.sa-root p{margin:.6rem 0}
.sa-root a:not(.sa-btn){color:var(--accent)}
.sa-root :focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.sa-root [tabindex="-1"]:focus{outline:none}
.sa-overline{font-size:.9rem;font-weight:600;color:var(--amber-text);margin:0 0 .35rem!important}
.sa-lede{font-size:1.06rem;color:var(--text);max-width:62ch}
.sa-small{font-size:.875rem;color:var(--muted);max-width:70ch}
.sa-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em;letter-spacing:.01em;overflow-wrap:anywhere}
.sa-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--sa-r);padding:clamp(18px,4vw,36px);box-shadow:0 1px 2px var(--shadow)}
.sa-note{background:var(--sunk);border-left:4px solid var(--line-strong);padding:.7rem .9rem;border-radius:0 var(--sa-r-sm) var(--sa-r-sm) 0;max-width:70ch}
.sa-note-wait{border-left-color:var(--amber);background:var(--amber-bg);color:var(--amber-text)}
.sa-note-info{border-left-color:var(--accent)}
.sa-loading{display:flex;align-items:center;gap:.7rem;padding:2rem 1rem;color:var(--muted)}
.sa-spin{width:20px;height:20px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--amber);animation:sa-spin .9s linear infinite}
@keyframes sa-spin{to{transform:rotate(360deg)}}
.sa-root kbd{font-family:inherit;font-size:.78rem;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:0 .35rem;background:var(--surface)}

/* ===================================================================== buttons */
.sa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:46px;padding:.6rem 1.15rem;border-radius:var(--sa-r-sm);
  border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:600 1rem/1.2 var(--f-body);text-decoration:none;cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}
.sa-btn svg{width:20px;height:20px;flex:none}
.sa-btn:hover{border-color:var(--ink)}
.sa-btn:disabled,.sa-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.sa-btn-primary{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg)}
.sa-btn-primary:hover{background:var(--board-2);border-color:var(--board-2);color:var(--board-fg)}
.sa-btn-ghost{border-color:var(--ink)}
.sa-btn-quiet{border-color:var(--line)}
.sa-btn-wa{background:var(--wa);border-color:var(--wa);color:var(--on-wa)}
.sa-btn-wa:hover{color:var(--on-wa);filter:brightness(1.08)}
.sa-btn-done{background:var(--ok-bg);border-color:var(--ok);color:var(--ok-text)}
.sa-btn-block{width:100%}
.sa-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;align-items:center}

/* ===================================================================== exam: intro */
.sa-exam{max-width:1120px;margin:0 auto}
.sa-intro,.sa-certask,.sa-verify{max-width:760px;margin-left:auto;margin-right:auto}
.sa-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--sa-r-sm);overflow:hidden;margin:1.3rem 0}
.sa-facts div{background:var(--surface);padding:.75rem .9rem}
.sa-facts dt{font-size:.84rem;color:var(--muted)}
.sa-facts dd{margin:.1rem 0 0;font:700 1.45rem/1.15 var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}
@media (min-width:600px){.sa-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sa-how{margin:0 0 1rem;padding-left:1.2rem;max-width:66ch}
.sa-how li{margin:.35rem 0}
.sa-how li::marker{color:var(--amber)}
.sa-field{display:grid;gap:.35rem;margin:1rem 0 0;max-width:420px}
.sa-field>span{font-weight:600;font-size:.95rem}
.sa-field small{font-weight:400;color:var(--muted)}
.sa-field input{min-height:46px;padding:.55rem .8rem;border:1.5px solid var(--line-strong);border-radius:var(--sa-r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:1rem;width:100%}
.sa-field input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
.sa-history{margin-top:1.2rem!important;color:var(--muted);font-size:.93rem}
.sa-err{color:var(--danger);font-weight:600}

/* ===================================================================== exam: question */
.sa-q-layout{display:grid;gap:18px;align-items:start}
@media (min-width:920px){.sa-q-layout{grid-template-columns:minmax(0,1fr) 272px;gap:28px}}
.sa-q-main{min-width:0}
.sa-q-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sa-q-exam{margin:0!important;font-weight:600;color:var(--muted);font-size:.92rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sa-timer{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding:.35rem .75rem;border:1.5px solid var(--line);border-radius:99px;background:var(--surface);
  font:700 1rem/1 var(--f-display);font-variant-numeric:tabular-nums;color:var(--ink)}
.sa-timer svg{width:18px;height:18px;color:var(--amber-deep)}
.sa-timer.is-low{background:var(--amber-bg);border-color:var(--amber);color:var(--amber-text)}
.sa-timer.is-low svg{color:var(--amber-text)}
.sa-progress{position:relative;height:8px;border-radius:99px;background:var(--sa-track);margin:.85rem 0 .5rem;overflow:visible}
.sa-progress span{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--amber);transition:width .25s}
.sa-progress i{position:absolute;top:-4px;width:4px;height:16px;margin-left:-2px;border-radius:2px;background:var(--ink)}
.sa-q-count{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.92rem;color:var(--muted);margin:0 0 .8rem!important}
.sa-q-count b{color:var(--ink);font-size:1.05rem}
.sa-timenote{display:flex;gap:.6rem;align-items:flex-start;background:var(--amber-bg);color:var(--amber-text);border-radius:var(--sa-r-sm);padding:.65rem .85rem;margin:0 0 .8rem;font-weight:600;font-size:.95rem}
.sa-timenote svg{width:20px;height:20px;flex:none;margin-top:1px}
.sa-q-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--sa-r);padding:clamp(16px,3.5vw,30px)}
.sa-q-hint{font-size:.88rem;font-weight:600;color:var(--amber-text);margin:0 0 .45rem!important}
.sa-q-stem{font-size:clamp(1.12rem,1rem + .7vw,1.42rem)!important;font-weight:600!important;line-height:1.38!important;max-width:62ch}
.sa-q-fig{margin:1rem 0 0;max-width:460px;color:var(--text)}
.sa-q-fig svg{width:100%;height:auto;display:block}
.sa-opts{border:0;margin:1.2rem 0 0;padding:0;display:grid;gap:10px;min-width:0}
.sa-opt{position:relative;display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;
  transition:border-color .12s,background-color .12s;min-height:54px}
.sa-opt:hover{border-color:var(--line-strong)}
.sa-opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.sa-opt:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.sa-opt-key{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-strong);font:700 .85rem/1 var(--f-display);color:var(--muted);margin-top:-1px}
.sa-opt input[type="checkbox"]~.sa-opt-key{border-radius:7px}
.sa-opt-text{padding-top:2px;font-size:1.02rem}
.sa-opt.is-on{border-color:var(--sel-bg);background:var(--amber-bg)}
.sa-opt.is-on .sa-opt-key{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg)}
.sa-opts-img{grid-template-columns:repeat(2,minmax(0,1fr))}
.sa-opt-img{flex-direction:column;align-items:stretch;padding:10px}
.sa-opt-img .sa-opt-key{position:absolute;top:8px;left:8px;background:var(--surface);z-index:1}
.sa-opt-pic{display:block;border-radius:8px;background:var(--sunk);color:var(--text);aspect-ratio:200/140;overflow:hidden}
.sa-opt-pic svg{display:block;width:100%;height:100%}
.sa-q-nav{display:grid;grid-template-columns:auto 1fr auto;gap:10px;margin-top:14px;align-items:center}
.sa-q-nav [data-act="mark"]{justify-self:center}
.sa-btn-mark[aria-pressed="true"]{background:var(--amber-bg);border-color:var(--amber);color:var(--amber-text)}
.sa-keys{display:none;font-size:.82rem;color:var(--muted);margin-top:.9rem!important}
@media (hover:hover) and (min-width:920px){.sa-keys{display:block}}
@media (max-width:540px){
  .sa-exam[data-screen="question"]{padding-bottom:4px}
  .sa-q-nav{position:sticky;bottom:0;z-index:5;background:var(--bg);margin:14px -4px 0;padding:10px 4px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
  .sa-q-nav [data-act="prev"] span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .sa-q-nav [data-act="prev"]{padding:.6rem .7rem}
  .sa-q-nav .sa-btn{padding-left:.8rem;padding-right:.8rem}
}
/* rail + palette */
.sa-rail{background:var(--surface);border:1px solid var(--line);border-radius:var(--sa-r);padding:6px}
.sa-rail-toggle{display:flex;width:100%;align-items:center;gap:.55rem;min-height:46px;padding:.4rem .7rem;border:0;background:none;color:var(--ink);font:600 1rem var(--f-body);cursor:pointer;border-radius:10px}
.sa-rail-toggle svg{width:20px;height:20px}
.sa-rail-sum{margin-left:auto;color:var(--muted);font-weight:400;font-size:.9rem;font-variant-numeric:tabular-nums}
.sa-rail-body{display:none;padding:8px 8px 10px}
.sa-rail.is-open .sa-rail-body{display:block}
@media (min-width:920px){
  .sa-rail{position:sticky;top:16px;padding:14px}
  .sa-rail-toggle{pointer-events:none;padding:0 0 .7rem;min-height:0}
  .sa-rail-toggle[aria-expanded]{cursor:default}
  .sa-rail-body{display:block;padding:0}
}
.sa-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px}
.sa-pal{position:relative;height:42px;border:1.5px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:600 .92rem var(--f-body);font-variant-numeric:tabular-nums;cursor:pointer;padding:0}
.sa-pal:hover{border-color:var(--line-strong)}
.sa-pal.is-ans{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg)}
.sa-pal.is-mark::after{content:"";position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--amber);border:2px solid var(--surface)}
.sa-pal.is-cur{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--amber)}
.sa-legend{list-style:none;margin:.8rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.82rem;color:var(--muted)}
.sa-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;border:1.5px solid var(--line);margin-right:.35rem;vertical-align:-1px}
.sa-legend i.is-ans{background:var(--sel-bg);border-color:var(--sel-bg)}
.sa-legend i.is-mark{background:var(--amber);border-color:var(--amber);border-radius:50%}
/* dialog */
.sa-dialog{border:0;border-radius:18px;padding:0;max-width:min(460px,calc(100vw - 32px));background:var(--surface);color:var(--text);box-shadow:0 24px 60px var(--shadow)}
.sa-dialog::backdrop{background:var(--scrim)}
.sa-dlg{padding:24px}
.sa-dlg .sa-actions{justify-content:flex-end}
.sa-dlg-time{color:var(--muted);font-size:.92rem}

/* ===================================================================== exam: result */
.sa-result-head{display:grid;gap:12px 28px;align-items:center}
@media (min-width:700px){.sa-result-head{grid-template-columns:240px minmax(0,1fr)}}
.sa-dial{position:relative;width:min(240px,100%);margin:0 auto}
.sa-arc{display:block;width:100%;height:auto}
.sa-dial-num{position:absolute;left:0;right:0;bottom:2px;text-align:center;line-height:1}
.sa-dial-num b{display:block;font:700 2.6rem/1 var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}
.sa-dial-num span{font-size:.85rem;color:var(--muted)}
.sa-result.is-fail .sa-result-text h1{color:var(--text)}
.sa-bars{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.55rem;max-width:720px}
.sa-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .8rem;align-items:center;font-size:.93rem}
.sa-bar-l{grid-column:1/-1}
.sa-bar{height:10px;border-radius:99px;background:var(--sa-track);overflow:hidden}
.sa-bar span{display:block;height:100%;border-radius:99px;background:var(--amber)}
.sa-bar span.low{background:var(--line-strong)}
.sa-bar-v{font-variant-numeric:tabular-nums;color:var(--muted);min-width:3.2em;text-align:right}
@media (min-width:640px){.sa-bars li{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}.sa-bar-l{grid-column:auto}}

/* ===================================================================== exam: review */
.sa-review-head{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:flex-end}
.sa-review-head .sa-actions{margin-top:0}
.sa-chips{display:flex;flex-wrap:wrap;gap:6px;margin:1.1rem 0 .4rem}
.sa-chip{min-height:40px;padding:.35rem .9rem;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font:600 .92rem var(--f-body);cursor:pointer}
.sa-chip span{color:var(--muted);font-weight:400;margin-left:.2rem}
.sa-chip[aria-pressed="true"]{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg)}
.sa-chip[aria-pressed="true"] span{color:inherit;opacity:.85}
.sa-rev-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:14px}
.sa-rev{border:1px solid var(--line);border-left:5px solid var(--ok);border-radius:12px;padding:14px 16px;background:var(--surface);break-inside:avoid}
.sa-rev.is-bad{border-left-color:var(--danger)}
.sa-rev-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;font-size:.9rem}
.sa-rev-n{font:700 1rem var(--f-display);color:var(--ink);min-width:1.6em}
.sa-rev-status{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--ok-text)}
.sa-rev.is-bad .sa-rev-status{color:var(--danger)}
.sa-rev-status svg,.sa-rev-flag svg{width:16px;height:16px}
.sa-rev-flag{display:inline-flex;align-items:center;gap:.25rem;color:var(--amber-text);font-weight:600}
.sa-rev-stem{font-weight:600;color:var(--ink);font-size:1.03rem;max-width:70ch}
.sa-rev-opts{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:6px}
.sa-rev-opts li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;padding:.45rem .65rem;border-radius:9px;border:1px solid transparent}
.sa-rev-opts .sa-opt-key{width:24px;height:24px;font-size:.78rem}
.sa-rev-o{flex:1 1 12rem;min-width:0}
.sa-rev-opts li.is-right{background:var(--sa-tint-ok);border-color:var(--ok)}
.sa-rev-opts li.is-right .sa-opt-key{background:var(--ok);border-color:var(--ok);color:#fff}
.sa-rev-opts li.is-mine-wrong{background:var(--sa-tint-bad);border-color:var(--danger)}
.sa-rev-imgs{grid-template-columns:repeat(2,minmax(0,1fr))}
.sa-rev-imgs li{flex-direction:column;align-items:flex-start}
.sa-rev-imgs .sa-opt-pic{width:100%}
.sa-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;padding:.12rem .55rem;border-radius:99px;background:var(--sunk);color:var(--text)}
.sa-tag svg{width:14px;height:14px}
.sa-tag-ok{background:var(--ok-bg);color:var(--ok-text)}
.sa-tag-bad{background:var(--sa-tint-bad);color:var(--danger)}
.sa-explain{margin:.7rem 0 0!important;padding:.6rem .8rem;border-radius:9px;background:var(--sunk);font-size:.96rem;max-width:75ch}

/* ===================================================================== certificate */
.sa-certview .sa-cert-actions{margin:0 0 1rem}
.sa-cert-fit{position:relative;width:100%;overflow:hidden;border-radius:6px;box-shadow:0 2px 6px var(--shadow),0 14px 40px var(--shadow);background:#fff;margin:0 auto}
.sa-cert{position:absolute;top:0;left:0;width:297mm;height:210mm;transform-origin:0 0;background:#fff;color:#1A2633;overflow:hidden;
  font-family:"Noto Sans",system-ui,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sa-cert-frame{position:absolute;inset:0;width:100%;height:100%}
.sa-cert-body{position:absolute;inset:23mm 30mm 21mm;display:flex;flex-direction:column;align-items:center;text-align:center}
.sa-cert-logo{height:14mm;width:auto;display:block}
.sa-cert-wordmark{font:700 22pt Poppins,sans-serif;color:#00396A;letter-spacing:.06em}
.sa-cert p{margin:0}
.sa-cert-org{font:600 10.5pt "Noto Sans",sans-serif;color:#4F5B69;margin-top:2.5mm!important;letter-spacing:.02em}
.sa-cert-title{font:600 25pt/1.1 Poppins,sans-serif!important;color:#00396A!important;margin-top:6mm!important;letter-spacing:-.005em}
.sa-cert-pre{font-size:11.5pt;color:#4F5B69;margin-top:6mm!important}
.sa-cert-name{font:600 30pt/1.15 Poppins,sans-serif;color:#00396A;margin-top:3mm!important;padding:0 8mm 2.4mm;border-bottom:.6mm solid #FFA900;min-width:150mm;max-width:225mm;overflow-wrap:anywhere}
.sa-cert-what{font-size:11.5pt;margin-top:5.5mm!important;max-width:190mm;color:#1A2633}
.sa-cert-module{font:600 15pt/1.25 Poppins,sans-serif;color:#00396A;margin-top:2mm!important;max-width:200mm}
.sa-cert-score{font-size:12pt;margin-top:3mm!important}
.sa-cert-score b{color:#00396A;font-weight:700}
.sa-cert-foot{margin-top:auto;width:100%;display:grid;grid-template-columns:1fr 33mm 1fr;gap:10mm;align-items:end}
.sa-cert-cell{display:flex;flex-direction:column;gap:.6mm;border-top:.3mm solid #00396A;padding-top:2.2mm;text-align:left}
.sa-cert-cell:last-child{text-align:right}
.sa-cert-k{font-size:8pt;color:#4F5B69;letter-spacing:.02em}
.sa-cert-v{font:600 12pt Poppins,sans-serif;color:#00396A}
.sa-cert-code{font:600 10.5pt ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em}
.sa-cert-sig{font-size:8pt;color:#4F5B69}
.sa-cert-seal{width:33mm;height:33mm;display:block}
.sa-cert-verify{font-size:8.5pt;color:#4F5B69;margin-top:3.5mm!important}
.sa-certlist{list-style:none;padding:0;margin:1rem 0;display:grid;gap:8px}
.sa-certlist a{display:grid;gap:.15rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--text)}
.sa-certlist a:hover{border-color:var(--ink)}
.sa-certlist b{color:var(--ink)}
.sa-certlist span{font-size:.9rem;color:var(--muted)}
.sa-codebig{font-size:clamp(1.05rem,.9rem + 1vw,1.4rem);font-weight:700;color:var(--ink);margin:.1rem 0 1rem!important}
.sa-btn-wa svg{width:22px;height:22px}

/* ===================================================================== progress, dashboard */
.sa-pbar{height:8px;border-radius:99px;background:var(--sa-track);overflow:hidden}
.sa-pbar span{display:block;height:100%;background:var(--amber);border-radius:99px}
.sa-lp{margin:2rem 0}
.sa-lp-in,.sa-mp-in{display:grid;gap:12px 20px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:var(--sa-r);background:var(--surface)}
@media (min-width:700px){.sa-lp-in{grid-template-columns:auto minmax(0,1fr)}.sa-lp-next{grid-column:1/-1}.sa-mp-in{grid-template-columns:minmax(0,1fr) auto auto}}
.sa-lp-prog p,.sa-mp-prog p{margin:0 0 .4rem!important;font-size:.95rem}
.sa-lp-next{margin:0!important;font-size:.95rem}
.sa-mp-test{margin:0!important;font-size:.93rem;color:var(--muted)}
.sa-dash{display:grid;gap:18px}
.sa-cont{display:grid;gap:14px 28px;padding:clamp(18px,4vw,30px);border-radius:var(--sa-r);background:var(--board);color:var(--board-fg);align-items:end}
.sa-cont .sa-overline{color:var(--board-num)}
.sa-cont h2{color:var(--board-fg)!important}
.sa-cont p{color:var(--board-dim)}
.sa-cont .sa-small{color:var(--board-dim);margin-top:.5rem}
.sa-cont .sa-pbar{background:var(--board-2);max-width:420px;margin-top:.8rem}
.sa-cont .sa-pbar span{background:var(--board-num)}
.sa-cont .sa-btn-primary{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}
.sa-cont .sa-btn-ghost{background:transparent;border-color:var(--board-fg);color:var(--board-fg)}
.sa-cont .sa-actions{margin-top:0}
@media (min-width:760px){.sa-cont{grid-template-columns:minmax(0,1fr) auto}}
.sa-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:var(--sa-r-sm);overflow:hidden}
.sa-stats div{background:var(--surface);padding:.75rem .9rem}
.sa-stats dt{font-size:.84rem;color:var(--muted)}
.sa-stats dd{margin:0;font:700 1.5rem/1.2 var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}
.sa-stats small{font:400 .85rem var(--f-body);color:var(--muted)}
.sa-modrows{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sa-modrows a{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.3rem .8rem;align-items:center;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--text)}
.sa-modrows a:hover{border-color:var(--ink)}
.sa-modrow-n{font:700 1rem var(--f-display);color:var(--amber-text);text-align:center}
.sa-modrow-t{font-weight:600;color:var(--ink);min-width:0}
.sa-modrow-p{grid-column:2/3;display:flex;align-items:center;gap:.6rem}
.sa-modrow-p .sa-pbar{flex:1;max-width:220px;height:6px}
.sa-modrow-p small{color:var(--muted);font-variant-numeric:tabular-nums}
.sa-modrow-r{grid-column:3;grid-row:1/3}
@media (min-width:760px){.sa-modrows a{grid-template-columns:2rem minmax(0,1fr) 260px 5rem}.sa-modrow-p{grid-column:auto}.sa-modrow-r{grid-column:auto;grid-row:auto;justify-self:end}}
.sa-final{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding:16px 18px;border:1.5px dashed var(--line-strong);border-radius:var(--sa-r)}
.sa-final h2{margin-top:0!important}
.sa-final p{margin:.25rem 0 0!important;color:var(--muted);max-width:60ch}

/* ===================================================================== simulators */
.sa-sim-host{display:block;margin:1.6rem 0}
.sa-sim{container-type:inline-size;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:clamp(14px,3vw,22px)}
.sa-sim-loading{min-height:120px}
.sa-sim-head{display:flex;gap:12px;align-items:flex-start}
.sa-sim-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--amber-bg);color:var(--amber-deep)}
.sa-sim-icon svg{width:22px;height:22px}
.sa-sim-title{font:600 1.12rem/1.25 var(--f-display)!important;color:var(--ink);margin:0!important}
.sa-sim-sub{margin:.15rem 0 0!important;color:var(--muted);font-size:.93rem}
.sa-sim-grid{display:grid;gap:16px;margin-top:14px}
@container (min-width:660px){.sa-sim-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}
.sa-sim-in{display:grid;gap:14px;margin:0;min-width:0}
.sa-sim-in.has-steps{gap:0}
.sa-sim-in.has-steps .sa-ctl{padding:9px 0;border-bottom:1px solid var(--line)}
.sa-sim-in.has-steps .sa-ctl:last-child{border-bottom:0}
.sa-sim-in.has-steps .sa-ctl-range,.sa-sim-in.has-steps .sa-ctl-chips{padding-top:14px}
.sa-ctl{min-width:0;margin:0;border:0;padding:0}
.sa-ctl label,.sa-ctl legend,.sa-step-l{font-weight:600;font-size:.94rem;color:var(--text);padding:0}
.sa-ctl legend{margin-bottom:.45rem}
.sa-ctl-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.15rem}
.sa-ctl-val{display:inline-flex;align-items:center;gap:.3rem;flex:none}
.sa-unit{font-size:.86rem;color:var(--muted)}
.sa-ctl input[type="number"]{width:6.2ch;min-height:36px;padding:.2rem .4rem;border:1.5px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);
  font:700 1rem var(--f-body);font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;appearance:textfield}
.sa-ctl input[type="number"]::-webkit-inner-spin-button,.sa-ctl input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.sa-ctl input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:32px;background:transparent;margin:0;cursor:pointer;--p:50%}
.sa-ctl input[type="range"]::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(to right,var(--amber) var(--p),var(--sa-track) var(--p))}
.sa-ctl input[type="range"]::-moz-range-track{height:6px;border-radius:99px;background:var(--sa-track)}
.sa-ctl input[type="range"]::-moz-range-progress{height:6px;border-radius:99px;background:var(--amber)}
.sa-ctl input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:var(--surface);border:3px solid var(--sel-bg);box-shadow:0 1px 3px var(--shadow)}
.sa-ctl input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--surface);border:3px solid var(--sel-bg)}
.sa-ctl input[type="range"]:focus-visible{outline:none}
.sa-ctl input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--surface),0 0 0 6px var(--focus)}
.sa-chiprow{display:flex;flex-wrap:wrap;gap:6px}
.sa-chipopt{position:relative;cursor:pointer}
.sa-chipopt input{position:absolute;opacity:0;width:1px;height:1px}
.sa-chipopt span{display:inline-flex;align-items:center;min-height:40px;padding:.35rem .85rem;border:1.5px solid var(--line);border-radius:99px;background:var(--surface);font-size:.92rem;font-weight:600;color:var(--text);transition:background-color .12s,border-color .12s}
.sa-chipopt:hover span{border-color:var(--line-strong)}
.sa-chipopt input:checked+span{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg)}
.sa-chipopt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.sa-ctl-step{display:flex;justify-content:space-between;align-items:center;gap:.8rem}
.sa-step-l{display:grid;line-height:1.3}
.sa-step-l small{font-weight:400;color:var(--muted);font-size:.82rem}
.sa-stepper{display:inline-flex;align-items:center;gap:4px;flex:none}
.sa-stepper button{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:600 1.3rem/1 var(--f-body);cursor:pointer;display:grid;place-items:center;padding:0}
.sa-stepper button:disabled{opacity:.4;cursor:default}
.sa-ctl-val input.is-money{width:8.2ch}
.sa-stepper input[type="number"]{width:3.6ch;text-align:center;border-color:var(--line)}
.sa-ctl-select select{display:block;width:100%;min-height:44px;margin-top:.3rem;padding:.4rem .7rem;border:1.5px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:1rem}
.sa-sim-board{background:var(--board);color:var(--board-fg);border-radius:14px;padding:16px 16px 12px;min-width:0}
.sa-sim-k{margin:0!important;font-size:.9rem;color:var(--board-dim)}
.sa-sim-hero{display:flex;align-items:baseline;flex-wrap:wrap;gap:.1rem .45rem;margin:.1rem 0 0!important}
.sa-sim-hero output{font:700 clamp(2.3rem,1.6rem + 3cqi,3.2rem)/1.05 var(--f-display);color:var(--board-num);font-variant-numeric:tabular-nums;letter-spacing:-.015em}
.sa-sim-unit{font:600 1.05rem var(--f-display);color:var(--board-fg)}
.sa-sim-badge{display:inline-block;margin:.45rem 0 0!important;padding:.15rem .6rem;border-radius:99px;font-size:.82rem;font-weight:700;background:var(--board-2);color:var(--board-fg)}
[data-status="ok"]>.sa-sim-badge{background:color-mix(in srgb,var(--sa-ok-b) 26%,var(--board));box-shadow:inset 0 0 0 1.5px var(--sa-ok-b)}
[data-status="warn"]>.sa-sim-badge{background:color-mix(in srgb,var(--board-num) 22%,var(--board));box-shadow:inset 0 0 0 1.5px var(--board-num)}
[data-status="bad"]>.sa-sim-badge{background:color-mix(in srgb,var(--sa-bad-b) 26%,var(--board));box-shadow:inset 0 0 0 1.5px var(--sa-bad-b)}
.sa-sim-facts{display:grid;gap:0;margin:.8rem 0 .6rem}
.sa-sim-facts div{display:flex;justify-content:space-between;gap:.4rem 1rem;flex-wrap:wrap;padding:.42rem 0;border-top:1px solid var(--board-line)}
.sa-sim-facts dt{font-size:.88rem;color:var(--board-dim)}
.sa-sim-facts dd{margin:0;font-weight:600;font-size:.92rem;text-align:right;font-variant-numeric:tabular-nums}
.sa-sim-chart svg{display:block;width:100%;height:auto;overflow:visible}
.sa-sim-chart .g{stroke:var(--board-line);stroke-width:1}
.sa-sim-chart .ax{fill:var(--board-dim);font:10.5px var(--f-body)}
.sa-sim-chart .ax.on{fill:var(--board-num);font-weight:700}
.sa-sim-chart .sun{fill:var(--board-num)}
.sa-sim-chart .use,.sa-sim-chart .ref{stroke:var(--board-fg);stroke-width:1.6;stroke-dasharray:5 4}
.sa-sim-chart .sunl{stroke:var(--board-num);stroke-width:2.6;stroke-linejoin:round}
.sa-sim-chart .sunl-a{fill:var(--board-num);opacity:.16}
.sa-sim-chart .ghost{stroke:var(--board-dim);stroke-width:1.5;stroke-dasharray:3 4}
.sa-sim-chart .mk{fill:var(--board-num);stroke:var(--board-fg);stroke-width:2}
.sa-sim-chart .mk-l{stroke:var(--board-fg);stroke-width:2}
.sa-sim-chart .lim{stroke:var(--sa-bad-b);stroke-width:2.4}
.sa-sim-chart .trk{fill:var(--board-2)}
.sa-sim-chart .win{fill:color-mix(in srgb,var(--sa-ok-b) 45%,var(--board-2))}
.sa-sim-chart .okb{fill:var(--board-dim);opacity:.6}
.sa-sim-chart .dim{fill:var(--board-line)}
.sa-sim-chart .pk{fill:var(--sa-pk)}
.sa-sim-chart .ld{stroke:var(--board-fg);stroke-width:2.4}
.sa-sim-chart .bat{fill:var(--sa-ok-b)}
.sa-sim-legend{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .9rem;font-size:.8rem;color:var(--board-dim)}
.sa-sim-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:.35rem;vertical-align:-1px;background:var(--board-dim)}
.sa-sim-legend .lg-sun,.sa-sim-legend .lg-sunl{background:var(--board-num)}
.sa-sim-legend .lg-use,.sa-sim-legend .lg-ref,.sa-sim-legend .lg-ld{background:none;border-top:2px dashed var(--board-fg);height:0;border-radius:0;vertical-align:3px}
.sa-sim-legend .lg-ld{border-top-style:solid}
.sa-sim-legend .lg-ghost{background:none;border-top:2px dotted var(--board-dim);height:0;border-radius:0;vertical-align:3px}
.sa-sim-legend .lg-win,.sa-sim-legend .lg-bat,.sa-sim-legend .lg-okb{background:var(--sa-ok-b)}
.sa-sim-legend .lg-okb{background:var(--board-dim)}
.sa-sim-legend .lg-lim{background:var(--sa-bad-b)}
.sa-sim-legend .lg-pk{background:var(--sa-pk);box-shadow:inset 0 0 0 1px var(--board-num)}
.sa-sim-means{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.sa-sim-means p{margin:0!important;max-width:75ch}
.sa-sim-means b{color:var(--ink)}
.sa-sim-basis{margin-top:.45rem!important;font-size:.82rem;color:var(--muted)}

/* ===================================================================== motion */
@media (prefers-reduced-motion:reduce){
  .sa-root *{transition:none!important;animation:none!important}
}

/* ===================================================================== print */
#sa-print-root{display:none}
@page sa-cert{size:A4 landscape;margin:0}
@media print{
  html.sa-printing,html.sa-printing body{margin:0!important;padding:0!important;background:#fff!important;min-height:0!important;height:auto!important}
  html.sa-printing body>*:not(#sa-print-root){display:none!important}
  html.sa-printing #sa-print-root{display:block}
  html.sa-print-cert #sa-print-root .sa-cert{page:sa-cert;position:relative;transform:none!important;width:297mm;height:209.4mm;margin:0;break-inside:avoid;break-after:avoid}
  html.sa-print-review #sa-print-root{font-family:var(--f-body);color:#1A2633}
  html.sa-print-review #sa-print-root .sa-panel{border:0;box-shadow:none;padding:0;background:#fff}
  html.sa-print-review #sa-print-root .sa-noprint{display:none!important}
  html.sa-print-review #sa-print-root .sa-rev{break-inside:avoid;background:#fff}
  html.sa-print-review #sa-print-root *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  /* plain browser print of the exam page (Ctrl+P) */
  .sa-exam .sa-q-nav,.sa-exam .sa-rail,.sa-exam .sa-noprint,.sa-exam .sa-actions{display:none!important}
}
