.elementor-1218 .elementor-element.elementor-element-2ec2561{--display:flex;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}/* Start custom CSS */:root {
  --bg: #0f1720;
  --panel: #1a2736;
  --card: #213244;
  --txt: #eef5ff;
  --muted: #b9c7d8;
  --accent: #ffbe0b;
  --warn: #ff6b35;
  --ok: #27c07d;
  --danger: #e5484d;
  --focus: #8bd3ff;
}

/* Elementor / Theme global background fix */
html,
body,
body.elementor-page,
.elementor,
.elementor-location-single,
.elementor-location-archive,
.elementor-location-header,
.elementor-location-footer,
.site,
#page,
#content,
.site-content,
.entry-content,
.page-content,
.elementor-section,
.elementor-container,
.elementor-widget-wrap {
  background: var(--bg);
  color: var(--txt);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  font: 16px/1.5 system-ui, Segoe UI, Roboto, sans-serif;
}

a {
  color: inherit;
}

.wrap {
  max-width: 1200px;
  margin: auto;
  padding: 0 1rem;
}

header,
.elementor-location-header {
  padding: 1rem 0;
  border-bottom: 1px solid #30465f;
  background: #101b28;
}

h1,
h2,
h3 {
  line-height: 1.2;
  color: var(--txt);
}

h1 {
  font-size: 1.9rem;
}

h2 {
  font-size: 1.45rem;
  margin-top: 0;
}

h3 {
  font-size: 1.1rem;
}

nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #0b141fcc;
  border-bottom: 1px solid #355170;
  backdrop-filter: blur(8px);
}

.nav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .5rem;
  padding: .75rem 0;
}

.nav-grid a {
  display: block;
  text-decoration: none;
  padding: .55rem .6rem;
  border: 1px solid #3e5d7e;
  border-radius: 8px;
  background: #122232;
  text-align: center;
}

.progress {
  height: 10px;
  background: #20354b;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: .6rem;
}

.progress > div {
  height: 100%;
  background: var(--accent);
  width: 0;
  transition: width .2s;
}

main,
.elementor main,
.elementor-page main,
.site-main,
#main,
#content,
.elementor-widget-container {
  padding: 1rem 0 4rem;
}

.module {
  background: var(--panel);
  border: 1px solid #334e69;
  border-radius: 14px;
  padding: 1rem;
  margin: 1rem 0;
}

.grid {
  display: grid;
  gap: .8rem;
}

.g2 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.g3 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.card {
  background: var(--card);
  border: 1px solid #3b5a78;
  border-radius: 12px;
  padding: 1rem;
}

.learning-goal,
.info-box,
.warning-box,
.example-box,
.task-box,
.feedback-box,
.practice-box,
.formula-card {
  border-radius: 10px;
  padding: .75rem;
  margin: .6rem 0;
}

.learning-goal {
  background: #0f2a3d;
  border-left: 4px solid #56b0ff;
}

.info-box {
  background: #16304a;
  border-left: 4px solid #6bc2ff;
}

.warning-box {
  background: #442418;
  border-left: 4px solid var(--warn);
}

.example-box {
  background: #16372b;
  border-left: 4px solid #38d39f;
}

.task-box {
  background: #2f2946;
  border-left: 4px solid #9f88ff;
}

.feedback-box {
  background: #29333f;
  border-left: 4px solid #9cb3cc;
}

.practice-box {
  background: #2d3220;
  border-left: 4px solid #c0d245;
}

.formula-card {
  background: #10283a;
  border: 1px solid #44698b;
}

.formula {
  font-weight: 700;
  color: var(--accent);
  font-size: 1.1rem;
}

label {
  display: block;
  margin-top: .45rem;
  font-weight: 600;
  color: var(--txt);
}

input,
select,
button {
  width: 100%;
  padding: .6rem;
  border-radius: 8px;
  border: 1px solid #496789;
  background: #0e1d2c;
  color: var(--txt);
}

input:focus,
select:focus,
button:focus {
  outline: 3px solid var(--focus);
  outline-offset: 1px;
}

button {
  cursor: pointer;
  background: #174062;
}

button.small {
  width: auto;
  padding: .35rem .65rem;
}

.kpi {
  font-weight: 800;
  color: var(--accent);
}

.ok {
  color: var(--ok);
}

.bad {
  color: var(--danger);
}

.muted {
  color: var(--muted);
}

.sim-wrap {
  position: relative;
  height: 230px;
  border-radius: 12px;
  border: 1px solid #426081;
  background: #0d2233;
  touch-action: none;
  overflow: hidden;
}

.zone {
  position: absolute;
  bottom: 48px;
  height: 14px;
}

.zone.stable {
  left: 35%;
  width: 30%;
  background: #1f8d5f;
}

.zone.critical {
  left: 25%;
  width: 10%;
  background: #cb9a2a;
}

.zone.critical.r {
  left: 65%;
}

.zone.tip {
  left: 15%;
  width: 10%;
  background: #a13836;
}

.zone.tip.r {
  left: 75%;
}

.fork {
  position: absolute;
  bottom: 20px;
  left: 12%;
  right: 12%;
  height: 18px;
  background: #6c8aa5;
  border-radius: 6px;
}

.load {
  position: absolute;
  bottom: 66px;
  left: 18%;
  right: 18%;
  height: 85px;
  background: #54779a;
  border-radius: 8px;
}

.cg {
  position: absolute;
  bottom: 126px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--accent);
  color: #111;
  display: grid;
  place-items: center;
  font-weight: 800;
  cursor: grab;
}

.lot {
  position: absolute;
  bottom: 48px;
  width: 2px;
  background: var(--accent);
  height: 80px;
}

.kipp {
  position: absolute;
  bottom: 42px;
  font-size: .8rem;
}

.kipp.l {
  left: 12%;
}

.kipp.r {
  right: 12%;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #3d5a76;
  padding: .4rem;
  font-size: .93rem;
}

th {
  background: #1e3c56;
}

tr.active {
  outline: 2px solid var(--accent);
  background: #233f57;
}

.lever-bar {
  height: 10px;
  background: #27425a;
  border-radius: 999px;
  overflow: hidden;
}

.lever-bar > div {
  height: 100%;
  background: var(--accent);
}

.quiz-item {
  border: 1px solid #41607f;
  background: #1e3042;
  border-radius: 10px;
  padding: .7rem;
  margin: .7rem 0;
}

.pulse {
  animation: pulse 1.2s ease-in-out 2;
  box-shadow: 0 0 0 0 rgba(255, 190, 11, .7);
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 190, 11, .7);
  }

  70% {
    box-shadow: 0 0 0 12px rgba(255, 190, 11, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 190, 11, 0);
  }
}

footer,
.elementor-location-footer {
  padding: 1rem 0 2rem;
  color: var(--muted);
}

@media (max-width: 720px) {
  .nav-grid a {
    font-size: .9rem;
  }

  .sim-wrap {
    height: 260px;
  }
}

@media print {
  nav,
  .no-print,
  .progress,
  button,
  input,
  select {
    display: none !important;
  }

  body {
    background: #fff !important;
    color: #111 !important;
  }

  .module,
  .card,
  .formula-card,
  .info-box,
  .warning-box,
  .example-box,
  .task-box,
  .feedback-box,
  .practice-box {
    border: 1px solid #999;
    background: #fff;
    color: #111;
  }
}/* End custom CSS */