/* GSV tools 0.21.0. A dark studio panel in the site's own colours, like the Sim Builder and the frame rate charts.
   Uses the theme's tokens where the GSV theme is on, with the same values as fallbacks. */
.gsvt{--t-bay:var(--gsv-bay,#0F1714);--t-line:var(--gsv-bay-line,#2B3A33);--t-on:var(--gsv-on-bay,#E9EEEA);--t-mute:#A9B8B0;--t-optic:var(--gsv-optic,#D9F23E);
  --t-card:#16211C;--t-field:#0B110E;--t-ok:#7BD88F;--t-warn:#F2B544;--t-bad:#F2685C;--t-r:var(--gsv-radius,4px);
  margin:0 0 32px;padding:24px;background:var(--t-bay);color:var(--t-on);border-radius:var(--t-r);font-size:16px;line-height:1.5}
.gsvt *{box-sizing:border-box}
.gsvt__eyebrow{margin:0 0 4px;font-family:var(--gsv-mono,"IBM Plex Mono",monospace);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-optic)}
.gsvt .gsvt__title{margin:0 0 6px;font-family:var(--gsv-cond,"Barlow Condensed",sans-serif);font-weight:700;font-size:30px;line-height:1.05;color:#fff}
.gsvt__lede{margin:0 0 18px;color:var(--t-mute)}
.gsvt__wait{margin:0;color:var(--t-mute)}
.gsvt a{color:var(--t-optic)}
.gsvt-form{display:flex;flex-direction:column;gap:14px;padding:0 0 20px;border-bottom:1px solid var(--t-line)}
.gsvt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 18px}
.gsvt-grid[hidden]{display:none}
.gsvt-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gsvt-lbl{font-size:13px;font-weight:600;letter-spacing:.02em;color:#fff}
.gsvt-hint{margin:0;font-size:12px;color:var(--t-mute)}
.gsvt-len{display:flex;align-items:center;gap:6px}
.gsvt .gsvt-num,.gsvt .gsvt-sel{min-height:44px;padding:8px 10px;font:inherit;font-size:16px;color:#fff;background:var(--t-field);border:1px solid var(--t-line);border-radius:var(--t-r)}
.gsvt .gsvt-num{width:72px;font-variant-numeric:tabular-nums}
.gsvt .gsvt-sel{width:100%}
.gsvt .gsvt-num:focus-visible,.gsvt .gsvt-sel:focus-visible,.gsvt button:focus-visible,.gsvt a:focus-visible,.gsvt input[type=checkbox]:focus-visible{outline:2px solid var(--t-optic);outline-offset:2px}
.gsvt-unit{font-size:13px;color:var(--t-mute)}
.gsvt-choice{display:flex;flex-wrap:wrap;gap:8px}
.gsvt .gsvt-chip{min-height:40px;padding:8px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--t-on);background:transparent;border:1px solid var(--t-line);border-radius:999px;cursor:pointer}
.gsvt .gsvt-chip[aria-pressed=true]{color:#0E1512;background:var(--t-optic);border-color:var(--t-optic)}
.gsvt-ticks{display:flex;flex-wrap:wrap;gap:10px 22px}
.gsvt-tick{display:flex;align-items:center;gap:10px;min-height:40px;font-size:15px;cursor:pointer}
.gsvt-tick input{width:20px;height:20px;accent-color:var(--t-optic)}
.gsvt-out{padding-top:20px}
.gsvt-sum{margin:0 0 16px;font-size:17px}
.gsvt-sum strong{color:var(--t-optic)}
.gsvt .gsvt-h{margin:22px 0 10px;font-family:var(--gsv-cond,"Barlow Condensed",sans-serif);font-size:21px;font-weight:700;color:#fff}
.gsvt .gsvt-list,.gsvt .gsvt-picks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.gsvt .gsvt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;margin:0;padding:12px 14px;background:var(--t-card);border:1px solid var(--t-line);border-radius:var(--t-r)}
.gsvt-row__main{display:flex;flex-direction:column;min-width:0}
.gsvt-row__main strong{color:#fff}
.gsvt-row__note{font-size:13px;color:var(--t-mute)}
.gsvt .gsvt-row__why{grid-column:1 / -1;margin:0;font-size:14px;color:var(--t-on)}
.gsvt .gsvt-more{grid-column:1 / -1;justify-self:start;padding:6px 0;font:inherit;font-size:14px;font-weight:600;color:var(--t-optic);background:none;border:0;text-decoration:underline;cursor:pointer}
.gsvt-row .gsvt-card{grid-column:1 / -1;margin-top:8px}
.gsvt-badge{display:inline-block;padding:3px 10px;font-family:var(--gsv-mono,"IBM Plex Mono",monospace);font-size:12px;font-weight:500;white-space:nowrap;border-radius:999px;border:1px solid}
.gsvt-badge--ok{color:var(--t-ok);border-color:var(--t-ok)}
.gsvt-badge--warn{color:var(--t-warn);border-color:var(--t-warn)}
.gsvt-badge--bad{color:var(--t-bad);border-color:var(--t-bad)}
.gsvt .gsvt-card{margin:0 0 4px;padding:18px;background:var(--t-card);border:1px solid var(--t-line);border-radius:var(--t-r)}
.gsvt .gsvt-card--best{border-color:var(--t-optic);box-shadow:inset 3px 0 0 var(--t-optic)}
.gsvt-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.gsvt-card__eyebrow{margin:0 0 2px;font-family:var(--gsv-mono,"IBM Plex Mono",monospace);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-optic)}
.gsvt .gsvt-card__title{margin:0;font-family:var(--gsv-cond,"Barlow Condensed",sans-serif);font-size:24px;font-weight:700;color:#fff}
.gsvt .gsvt-card__lede{margin:6px 0 10px;font-size:15px;color:var(--t-on)}
.gsvt .gsvt-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:10px 0 12px;font-size:15px}
.gsvt .gsvt-facts dt{color:var(--t-mute)}
.gsvt .gsvt-facts dd{margin:0;color:#fff;font-variant-numeric:tabular-nums}
.gsvt .gsvt-checks{margin:0 0 12px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.gsvt .gsvt-check{margin:0;padding:8px 10px;font-size:14px;border-left:3px solid var(--t-ok);background:rgba(255,255,255,.03)}
.gsvt-check strong{color:#fff}
.gsvt-check--warn{border-left-color:var(--t-warn)!important}
.gsvt-check--bad{border-left-color:var(--t-bad)!important}
.gsvt .gsvt-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.gsvt .gsvt-tags li{margin:0;padding:3px 9px;font-size:13px;color:var(--t-on);background:rgba(255,255,255,.06);border-radius:var(--t-r)}
.gsvt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:10px}
.gsvt .gsvt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;font-weight:700;font-size:15px;text-decoration:none;border-radius:var(--t-r);border:1px solid transparent}
.gsvt .gsvt-btn--buy,.gsvt .gsvt-btn--cta{color:#0E1512;background:var(--t-optic)}
.gsvt .gsvt-btn--ghost{color:#fff;border-color:var(--t-line)}
.gsvt .gsvt-btn:hover{filter:brightness(1.08)}
.gsvt .gsvt-link{font-size:14px;font-weight:600}
.gsvt .gsvt-code{margin:10px 0 0;font-size:14px;color:var(--t-mute)}
.gsvt-code strong{font-family:var(--gsv-mono,"IBM Plex Mono",monospace);color:var(--t-optic);letter-spacing:.03em}
.gsvt-close{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--t-line)}
.gsvt .gsvt-small{flex-basis:100%;margin:6px 0 0;font-size:13px;color:var(--t-mute)}
.gsvt .gsvt-warn{margin:0 0 14px;padding:12px 14px;color:#fff;border-left:3px solid var(--t-warn);background:rgba(242,181,68,.08)}
.gsvt-total{display:flex;flex-direction:column;gap:2px;margin:0 0 16px;padding:16px 18px;background:var(--t-card);border:1px solid var(--t-optic);border-radius:var(--t-r)}
.gsvt-total__lbl{font-family:var(--gsv-mono,"IBM Plex Mono",monospace);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-optic)}
.gsvt-total__val{font-family:var(--gsv-cond,"Barlow Condensed",sans-serif);font-size:38px;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.gsvt .gsvt-cost{width:100%;margin:0 0 12px;border-collapse:collapse;font-size:15px;background:transparent}
.gsvt .gsvt-cost th,.gsvt .gsvt-cost td{padding:9px 10px;text-align:left;color:var(--t-on);border:0;border-bottom:1px solid var(--t-line);background:transparent}
.gsvt .gsvt-cost thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--t-mute)}
.gsvt .gsvt-cost td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;color:#fff}
@media (max-width:699.98px){
  .gsvt{padding:18px 14px;margin-left:calc(var(--gsv-gutter,16px)*-0.5);margin-right:calc(var(--gsv-gutter,16px)*-0.5)}
  .gsvt .gsvt__title{font-size:26px}
  .gsvt-grid{grid-template-columns:1fr 1fr;gap:12px}
  .gsvt .gsvt-num{width:58px}
  .gsvt .gsvt-facts{grid-template-columns:1fr}
  .gsvt .gsvt-facts dd{margin-bottom:6px}
  .gsvt .gsvt-btn{flex:1 1 100%}
  .gsvt .gsvt-cost td:last-child{white-space:normal}
}
@media (max-width:399.98px){.gsvt-grid{grid-template-columns:1fr}}
