/* STRUCT-WAVE-2: structural shell for census rows 9-27. */
html.iot-struct-wave-2 :is(.quarto-title-block,#title-block-header,h1.title,.quarto-title-meta,.quarto-categories),
html.iot-struct-wave-2 #interactive-game > :is(h1,h2) { display:none !important; }
html.iot-struct-wave-2 :is(.page-columns,main.content,#quarto-content,#quarto-document-content) { display:block !important; width:100% !important; max-width:none !important; margin-right:auto !important; margin-left:auto !important; }
html.iot-struct-wave-2 :is(#databaseSelectorTool,#dhcpWorkbench,#dsdvWorkbench,#dsrWorkbench,#edgeCloudDecisionLab,#edgeFogLatencyLab,#eventTimeLab,#fanetWorkbench,#fogOutageLab,#fogOffloadLab,#grafanaFlowLab,#hwSim,#httpWorkbench,#irqg-app,#isaWorkbench,#kafkaPartitionsLab,#latencyWorkbench,#lsfWorkbench,#msaGame).sw2-shell {
  --sw2-teal:#197F8D; --sw2-blue:#3E68A6; --sw2-green:#2F8D57; --sw2-amber:#B96824; --sw2-red:#B9484D;
  --sw2-ink:#20343D; --sw2-muted:#526A73; --sw2-line:#D8E3E8;
  --sw2-module-tint:color-mix(in srgb,var(--pc-main) 7%,white); --sw2-module-tint-strong:color-mix(in srgb,var(--pc-main) 13%,white);
  --sw2-module-border:color-mix(in srgb,var(--pc-main) 42%,white); --sw2-module-ink:color-mix(in srgb,var(--pc-main) 72%,#20343D);
  display:block !important; width:min(1180px,calc(100vw - 32px)) !important; max-width:none !important;
  margin:0 0 32px 50% !important; padding:16px !important; transform:translateX(-50%) !important;
  color:var(--sw2-ink) !important; background:var(--sw2-module-tint) !important; border:1px solid var(--sw2-module-border) !important;
  border-radius:8px !important; box-shadow:none !important; font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.sw2-shell,.sw2-shell * { box-sizing:border-box; }
.sw2-shell > * { max-width:100%; }
.sw2-hero { padding:24px !important; margin:0 0 14px !important; color:var(--sw2-ink) !important; text-align:left !important; background:var(--sw2-module-tint-strong) !important; border:1px solid var(--sw2-module-border) !important; border-radius:8px !important; box-shadow:0 14px 34px rgba(32,52,61,.10) !important; }
.sw2-kicker { display:flex !important; flex-wrap:wrap; gap:8px; margin:0 0 14px !important; }
.sw2-pill { display:inline-flex; align-items:center; min-height:26px; padding:4px 10px; color:var(--sw2-module-ink) !important; background:#fff !important; border:1px solid var(--sw2-module-border) !important; border-radius:999px; font-size:12px !important; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.sw2-hero :is(h1,h2) { margin:0 0 10px !important; color:var(--sw2-ink) !important; font-size:clamp(32px,4vw,40px) !important; line-height:1.08 !important; letter-spacing:-.025em !important; }
.sw2-hero > p { max-width:850px; margin:0 !important; color:#38515B !important; font-size:17px !important; line-height:1.5 !important; }
.sw2-metrics { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:10px !important; max-width:900px; margin-top:18px !important; }
.sw2-metric { min-width:0; padding:10px 12px !important; text-align:left !important; background:#fff !important; border:1px solid var(--sw2-module-border) !important; border-radius:8px !important; box-shadow:none !important; }
.sw2-metric :is(strong,span) { display:block; }
.sw2-metric strong { color:var(--sw2-ink) !important; font-size:16px !important; }
.sw2-metric span { margin-top:2px; color:var(--sw2-muted) !important; font-size:12px !important; }
.sw2-ramp { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.sw2-ramp-card,.sw2-boundaries,.sw2-legend { padding:12px 14px; background:#fff; border:1px solid var(--sw2-line); border-radius:8px; }
.sw2-ramp-card :is(strong,span) { display:block; }
.sw2-ramp-card strong { color:var(--sw2-teal); font-size:12px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.sw2-ramp-card span { margin-top:4px; color:#38515B; font-size:14px; line-height:1.45; }
.sw2-legend { display:flex; flex-wrap:wrap; gap:8px 14px; margin:12px 0; color:var(--sw2-muted); font-size:12px; font-weight:750; }
.sw2-legend i { display:inline-block; width:10px; height:10px; margin-right:5px; border-radius:50%; vertical-align:-1px; }
.sw2-legend .identity { background:var(--sw2-module-tint-strong); border:2px solid var(--pc-main); }
.sw2-legend .current { background:var(--sw2-teal); }.sw2-legend .reference { background:var(--sw2-blue); }.sw2-legend .success { background:var(--sw2-green); }.sw2-legend .caution { background:var(--sw2-amber); }.sw2-legend .error { background:var(--sw2-red); }
.sw2-boundaries { margin-top:14px; color:#38515B; font-size:14px; line-height:1.5; }.sw2-boundaries strong { color:var(--sw2-ink); }
.sw2-shell :is(button,select,input) { font:inherit; }.sw2-shell button { min-height:40px; border-radius:8px !important; font-weight:800 !important; }
.sw2-shell :is(input[type="range"]) { accent-color:var(--sw2-teal); }
.sw2-shell :is(button.primary,[data-action="play"],#dhcpPlay,#ecdPlay,#eflsPlay,#etPlay,#foPlay,#gfPlay,#kpPlay,#hwEval,#irqgCheckBuilder) { color:#fff !important; background:var(--sw2-teal) !important; border-color:var(--sw2-teal) !important; }
.sw2-shell :is([data-action="step"],#dhcpStep,#ecdStep,#eflsStep,#etStep,#foStep,#gfStep,#kpStep) { color:#fff !important; background:var(--sw2-blue) !important; border-color:var(--sw2-blue) !important; }
.sw2-shell :is([data-action="reset"],#dhcpReset,#ecdReset,#eflsReset,#etReset,#foReset,#gfReset,#kpReset,#hwReset,#irqgResetQuiz,#irqgResetBuilder) { color:var(--sw2-ink) !important; background:#fff !important; border:1px solid #A9BCC5 !important; }
.sw2-shell :is(.success,.ok,.is-success) { border-color:var(--sw2-green) !important; }.sw2-shell :is(.warning,.warn,.caution) { border-color:var(--sw2-amber) !important; }.sw2-shell :is(.error,.risk,.failure,.is-error) { border-color:var(--sw2-red) !important; }
.sw2-shell :is(.active,.is-active,.is-selected,[aria-pressed="true"]) { box-shadow:0 0 0 2px color-mix(in srgb,var(--sw2-teal) 18%,transparent); }
@media (max-width:700px) { html.iot-struct-wave-2 :is(#databaseSelectorTool,#dhcpWorkbench,#dsdvWorkbench,#dsrWorkbench,#edgeCloudDecisionLab,#edgeFogLatencyLab,#eventTimeLab,#fanetWorkbench,#fogOutageLab,#fogOffloadLab,#grafanaFlowLab,#hwSim,#httpWorkbench,#irqg-app,#isaWorkbench,#kafkaPartitionsLab,#latencyWorkbench,#lsfWorkbench,#msaGame).sw2-shell { width:calc(100vw - 32px) !important; padding:10px !important; }.sw2-hero { padding:18px !important; }.sw2-metrics,.sw2-ramp { grid-template-columns:1fr !important; }.sw2-legend { align-items:flex-start; flex-direction:column; }.sw2-shell :is(svg,canvas) { max-width:100% !important; height:auto; } }
@media (prefers-reduced-motion:reduce) { .sw2-shell *,.sw2-shell *::before,.sw2-shell *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; } }
