/* KINEX Atlas education layer: shared styles (canon: coral #EF674D,
   hairline, radius, Bebas display, 48px+ targets, nothing spins). */
#kxedu { margin: 28px 0 8px; }
.kxedu-eyebrow {
  font-family: 'Bebas Neue', sans-serif; letter-spacing: .14em;
  font-size: 15px; color: #EF674D; margin: 0 0 6px;
}
.kxedu-title {
  font-family: 'Bebas Neue', sans-serif; font-weight: 400;
  letter-spacing: .04em; font-size: 34px; line-height: 1.05; margin: 0 0 10px;
}
.kxedu-intro { font-size: 16px; line-height: 1.55; opacity: .85; margin: 0 0 16px; max-width: 62ch; }
.kxedu-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.kxedu-chip {
  min-height: 48px; padding: 10px 18px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(140, 140, 140, .45); background: transparent;
  color: inherit; font-family: 'Bebas Neue', sans-serif; font-size: 17px;
  letter-spacing: .08em;
}
.kxedu-chip[aria-pressed="true"] { border-color: #EF674D; color: #EF674D; }
.kxedu-list { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 0 0 16px; }
@media (min-width: 720px) { .kxedu-list { grid-template-columns: 1fr 1fr; } }
.kxedu-chain {
  min-height: 56px; padding: 10px 16px; text-align: left; cursor: pointer;
  border-radius: 14px; border: 1px solid rgba(140, 140, 140, .35);
  background: rgba(127, 127, 127, .05); color: inherit;
  display: flex; flex-direction: column; justify-content: center; gap: 2px;
}
.kxedu-chain[aria-pressed="true"] { border-color: #EF674D; }
.kxedu-chain-title { font-size: 16px; font-weight: 600; line-height: 1.3; }
.kxedu-chain-meta { font-size: 13px; opacity: .65; }
.kxedu-card {
  border: 1px solid rgba(140, 140, 140, .35); border-left: 3px solid #EF674D;
  border-radius: 18px; padding: 18px 18px 8px; background: rgba(127, 127, 127, .05);
}
.kxedu-kb {
  font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
  opacity: .6; margin: 0 0 6px;
}
.kxedu-card-title {
  font-family: 'Bebas Neue', sans-serif; font-weight: 400;
  font-size: 26px; letter-spacing: .03em; line-height: 1.1; margin: 0 0 8px;
}
.kxedu-lead { font-size: 16px; line-height: 1.5; font-weight: 600; margin: 0 0 12px; }
.kxedu-row { margin: 0 0 12px; }
.kxedu-row-label {
  font-family: 'Bebas Neue', sans-serif; font-size: 15px; letter-spacing: .1em;
  color: #EF674D; margin: 0 0 3px;
}
.kxedu-row-text { font-size: 15px; line-height: 1.55; margin: 0; max-width: 68ch; }
.kxedu-structs { font-size: 13px; line-height: 1.5; opacity: .65; margin: 2px 0 12px; }
.kxedu-silence { font-size: 13px; line-height: 1.55; opacity: .6; margin: 14px 0 0; max-width: 68ch; }
#kxedu-panel-card { margin-top: 14px; }
#kxedu-panel-card .kxedu-card { padding: 14px 14px 4px; }
.kxedu-panel-head {
  font-family: 'Bebas Neue', sans-serif; font-size: 16px; letter-spacing: .08em;
  color: #EF674D; margin: 0 0 8px;
}
/* Inset restoration (2026-10-31): this section carries no horizontal
   inset of its own and relies on the host page's wrap padding. On the
   Mirror, the doorway entry state zeroes that padding (the stage is
   full-bleed by design) and the entry scroll-restoration block does not
   bring it back, so the section ran edge to edge on mobile. While the
   entry state is showing and the wrap is full-width, the section
   restores the Mirror page's own standard 16px inset itself. No other
   surface has an #entryState, so the rule is inert there; it is also
   inert in the Mirror's other states, where the wrap padding returns
   on its own. */
@media (max-width: 1060px) {
  body:has(#entryState:not([hidden])) #kxedu {
    padding-left: 16px; padding-right: 16px;
  }
}
