.fx .ax-content button,.fx .ax-content select,.fx .ax-content input {
  font:inherit}
.fx .ax-content button,.fx .ax-content a {
  touch-action:manipulation}
.fx .ax-content button {
  cursor:pointer}
.fx .ax-content button:disabled {
  cursor:not-allowed}
.fx .ax-content a:focus-visible,.fx .ax-content button:focus-visible {
  outline:2px solid var(--navy);outline-offset:4px}
.fx .ax-content [hidden] {
  display:none!important}
.fx .ax-content h1,.fx .ax-content h2,.fx .ax-content h3,.fx .ax-content p,.fx .ax-content figure {
  margin:0}
.fx .ax-content h2 {
  font-size:20px;line-height:1.4;color:var(--navy)}
.fx .ax-content p {
  margin:12px 0}
.fx .ax-content small,.fx .ax-content .small,.fx .ax-content .sample-note {
  font-size:12px;line-height:1.7}
.fx .ax-content {
  min-height:0;padding:12px 0 24px;mask-image:none;-webkit-mask-image:none}
.fx .ax-content .page-title {
  font-size:32px;line-height:1.3;white-space:nowrap;color:var(--navy);margin:0 0 14px;border:0;background:none;box-shadow:none}
.fx .ax-content .intro {
  margin-bottom:12px}
.fx .ax-content .intro p {
  max-width:760px}
.fx .ax-content .demo-policy {
  display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--navy)}
.fx .ax-content .demo-policy span {
  border-left:2px solid color-mix(in srgb, var(--gem) 50%, transparent);padding-left:10px}
.fx .ax-content .flow {
  display:flex;flex-direction:column;gap:8px}
.fx .ax-content .flow-row {
  display:grid;grid-template-columns:144px minmax(0,1fr) 210px;border:1px solid color-mix(in srgb, var(--paper) 85%, transparent);border-radius:20px;background:color-mix(in srgb, var(--paper) 34%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--paper) 95%, transparent),0 8px 32px color-mix(in srgb, var(--navy) 10%, transparent);overflow:hidden}
.fx .ax-content .phase {
  padding:14px;background:color-mix(in srgb, var(--paper) 34%, transparent);border-right:1px solid color-mix(in srgb, var(--navy) 12%, transparent);color:var(--navy)}
.fx .ax-content .phase strong {
  display:block;font-size:20px}
.fx .ax-content .phase small {
  display:block;margin-top:8px}
.fx .ax-content .flow-info {
  padding:14px}
.fx .ax-content .flow-info p {
  font-size:14px}
.fx .ax-content .flow-actions {
  display:grid;gap:10px;align-content:center;padding:14px;border-left:1px solid color-mix(in srgb, var(--navy) 12%, transparent)}
.fx .ax-content .btn {
  white-space:nowrap;justify-content:center;cursor:pointer}
.fx .ax-content .disabled {
  display:inline-flex;align-items:center;gap:8px;min-height:var(--touch);padding:6px 12px;border:1px dashed color-mix(in srgb, var(--navy) 25%, transparent);border-radius:8px;background:color-mix(in srgb, var(--paper) 50%, transparent);color:var(--navy);font-size:12px}
.fx .ax-content .disabled small {
  font-size:11px}
.fx .ax-content .flow-note {
  font-size:14px;margin-top:12px}
.fx .ax-content .demo-header {
  display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;margin-bottom:12px;color:var(--navy)}
.fx .ax-content .question-screen,.fx .ax-content .soc-conversation,.fx .ax-content .inquiry {
  max-width:760px;margin:auto;padding:0}
.fx .ax-content .training-body {
  display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1040px}
.fx .ax-content .reading {
  border-right:1px solid color-mix(in srgb, var(--navy) 12%, transparent);padding-right:14px}
.fx .ax-content .reading p {
  white-space:pre-line;font-size:14px;line-height:1.9}
.fx .ax-content .eyebrow,.fx .ax-content .stamp {
  font-size:12px;color:var(--navy)}
.fx .ax-content .source-card,.fx .ax-content .bubble {
  padding:14px;background:color-mix(in srgb, var(--paper) 50%, transparent);border:1px solid color-mix(in srgb, var(--paper) 85%, transparent);border-radius:12px;margin:8px 0}
.fx .ax-content .level-row {
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid color-mix(in srgb, var(--navy) 12%, transparent);font-size:14px}
.fx .ax-content .level-row:last-child {
  border-bottom:0}
.fx .ax-content .level-row strong {
  display:inline-grid;place-items:center;width:28px;height:28px;margin-right:12px;background:var(--navy);color:var(--paper);border-radius:4px}
.fx .ax-content .level-row small {
  display:block}
.fx .ax-content .options {
  display:grid;gap:10px;margin:12px 0}
.fx .ax-content .options button {
  min-height:40px;padding:6px 12px;text-align:left;border:1px solid color-mix(in srgb, var(--navy) 22%, transparent);border-radius:8px;background:color-mix(in srgb, var(--paper) 70%, transparent);color:var(--navy)}
.fx .ax-content .options button[aria-pressed=true] {
  background:var(--navy);color:var(--paper)}
.fx .ax-content .feedback {
  padding:12px;border-left:3px solid var(--gem);background:color-mix(in srgb, var(--paper) 50%, transparent);margin:8px 0;font-size:14px}
.fx .ax-content .demo-footer {
  display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.fx .ax-content .sample-note {
  margin:8px 0}
.fx .ax-content .inquiry ul {
  padding-left:14px}
.fx .ax-content .note {
  padding:12px;background:color-mix(in srgb, var(--paper) 50%, transparent);border-left:3px solid var(--gem);font-size:14px}
@media(max-width:860px) {
  .fx .ax-content {
  padding:14px 12px 24px}
.fx .ax-content .page-title {
  font-size:24px}
.fx .ax-content .intro {
  margin-bottom:12px}
.fx .ax-content .intro p {
  font-size:14px}
.fx .ax-content .demo-policy {
  gap:8px;font-size:12px}
.fx .ax-content .flow {
  gap:8px}
.fx .ax-content .flow-row {
  grid-template-columns:1fr}
.fx .ax-content .phase {
  display:flex;align-items:center;justify-content:space-between;padding:14px 12px;border-right:0;border-bottom:1px solid color-mix(in srgb, var(--navy) 12%, transparent)}
.fx .ax-content .phase strong {
  font-size:18px}
.fx .ax-content .phase small {
  margin:0}
.fx .ax-content .flow-info {
  padding:12px}
.fx .ax-content .flow-info p {
  margin:8px 0}
.fx .ax-content .flow-actions {
  grid-template-columns:1fr 1fr;padding:12px;border-left:0;border-top:1px solid color-mix(in srgb, var(--navy) 12%, transparent);gap:8px}
.fx .ax-content .flow-actions .btn {
  font-size:12px;padding:0 8px}
.fx .ax-content .training-body {
  grid-template-columns:1fr}
.fx .ax-content .reading {
  border-right:0;border-bottom:1px solid color-mix(in srgb, var(--navy) 12%, transparent);padding:0 0 14px}
.fx .ax-content .demo-header {
  gap:6px;margin-bottom:12px}
.fx .ax-content .inquiry .page-title {
  font-size:24px}
}
@media(prefers-reduced-motion:reduce) {
  .fx .ax-content .app,.fx .ax-content .m::after {
  transition:none}
}
.fx .ax-content {
  overflow:visible;overflow-wrap:anywhere}
.fx .ax-content :where(button,a) {
  min-height:40px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.fx .ax-content :where(button) {
  min-width:var(--touch)}
.fx .ax-content a {
  display:inline-flex;align-items:center}
.fx .ax-content .btn {
  padding-block:6px;text-align:center}
.fx .ax-content .disabled {
  min-height:var(--touch);flex-wrap:wrap;white-space:normal}
.fx .ax-content .page-title {
  white-space:normal;overflow-wrap:anywhere}
.fx .ax-content .flow-row {
  overflow:visible}
.fx .ax-content .flow-row>*,.fx .ax-content .training-body>*,.fx .ax-content .options,.fx .ax-content .demo-header>* {
  min-width:0}
.fx .ax-content .training-body {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.fx .ax-content .options button {
  width:100%;white-space:normal;overflow-wrap:anywhere}
.fx .ax-content .level-row {
  flex-wrap:wrap}
.fx .ax-content .level-row>div {
  flex:1 1 150px;min-width:0}
.fx .ax-content .demo-header {
  align-items:center}
@media(max-width:860px) {
  .fx .ax-content .training-body {
  grid-template-columns:minmax(0,1fr)}
.fx .ax-content .flow-row {
  grid-template-columns:minmax(0,1fr)}
.fx .ax-content .flow-actions {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.fx .ax-content .phase {
  flex-wrap:wrap;gap:8px}
.fx .ax-content .demo-footer>* {
  min-width:0}

}
.fx .ax-content .chat-log {
  max-height:560px;max-height:min(60vh,560px);min-height:220px;overflow-y:auto;padding:12px 8px;border-block:1px solid color-mix(in srgb, var(--navy) 12%, transparent);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--navy) 30%, transparent) transparent}
.fx .ax-content .chat-message {
  margin:12px 0;max-width:90%;min-width:0}
.fx .ax-content .chat-message .bubble {
  white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 8px}
.fx .ax-content .chat-user {
  margin-left:auto;text-align:right}
.fx .ax-content .chat-user .bubble {
  background:var(--navy);color:var(--paper);text-align:left}
.fx .ax-content .chat-system {
  margin-inline:auto;text-align:center}
.fx .ax-content .chat-question {
  max-width:100%}
.fx .ax-content .chat-question .bubble {
  border:2px solid color-mix(in srgb, var(--gem) 50%, transparent);font-weight:600}
.fx .ax-content .chat-options {
  display:flex;flex-wrap:wrap;gap:8px;max-height:280px;overflow-y:auto;padding:4px}
.fx .ax-content .chat-options button {
  min-width:44px;min-height:40px;flex:0 1 auto}
.fx .ax-content .chat-typing {
  font-size:14px;color:var(--navy)}
.fx .ax-content .chat-composer {
  margin-top:8px}
.fx .ax-content .chat-composer label {
  display:block;font-weight:600;color:var(--navy)}
.fx .ax-content .chat-composer textarea {
  display:block;width:100%;max-width:100%;font:inherit;padding:12px;border:1px solid color-mix(in srgb, var(--navy) 30%, transparent);border-radius:8px;background:var(--paper);color:var(--navy);resize:vertical;min-height:80px}
.fx .ax-content .chat-composer textarea:focus-visible {
  outline:2px solid var(--navy);outline-offset:2px}
.fx .ax-content .chat-composer textarea:disabled {
  opacity:.65}
@media(max-width:860px) {
  .fx .ax-content .chat-message {
  max-width:96%}
.fx .ax-content .chat-log {
  padding-inline:4px}
}


/* Production content only; shared chrome retains its own layout. */
.fx .ax-content  {
   min-height: 0; padding: 12px 0 24px; }

.fx .ax-content .page-title  {
   white-space: normal; }

.fx .ax-content :where(input, textarea)  {
   box-sizing: border-box; }

.fx .ax-content .btn  {
   display: inline-flex; align-items: center; justify-content: center; min-height: var(--touch); padding: var(--s1) var(--s2); border: 1px solid var(--navy); border-radius: 8px; background: var(--navy); color: var(--paper); text-decoration: none; font: inherit; font-weight: 500; box-sizing: border-box; }

.fx .ax-content .btn.sub  {
   background: var(--paper); color: var(--navy); }

.fx .ax-content .btns  {
   display: flex; flex-wrap: wrap; gap: 8px; }

.fx .ax-content .flow-actions .btn  {
   width: 100%; }

.fx .ax-content .demo-policy span  {
   background: var(--gem-soft); border-left-color: var(--gem); padding: 4px 10px; border-radius: 4px; }

.fx .ax-content .flow-row  {
   background: var(--paper); }

@supports (backdrop-filter: blur(12px)) {
  .fx .ax-content .flow-row {
    background: color-mix(in srgb, var(--paper) 72%, transparent);
    backdrop-filter: blur(12px);
  }
}

.fx .ax-content .flow { gap: var(--s2); }
.fx .ax-content .phase,
.fx .ax-content .flow-info,
.fx .ax-content .flow-actions { padding: var(--s3); }

/* Trello-style board: three equal-height pale lanes, fixed lane head, compact cards (title, one line, link). */
.fx .ax-content .kanban { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--s2); align-items: stretch; }
.fx .ax-content .kb-col { display: flex; flex-direction: column; min-width: 0; padding: 0 var(--s1) var(--s1); border-radius: 12px; background: color-mix(in srgb, var(--navy) 6%, var(--paper)); border: 1px solid color-mix(in srgb, var(--navy) 10%, transparent); }
@supports (backdrop-filter: blur(12px)) { .fx .ax-content .kb-col { background: color-mix(in srgb, var(--navy) 6%, transparent); backdrop-filter: blur(12px); } }
.fx .ax-content .kb-head { position: sticky; top: 0; display: flex; flex-direction: column; gap: 2px; padding: 12px 4px 8px; color: var(--navy); }
.fx .ax-content .kb-head h2 { margin: 0; font-size: 18px; line-height: 1.3; }
.fx .ax-content .kb-head small { font-size: 13px; }
.fx .ax-content .kb-cards { display: flex; flex-direction: column; gap: 8px; }
.fx .ax-content .kb-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 0 8px; padding: 8px 12px; border-radius: 8px; background: var(--paper); box-shadow: 0 1px 2px color-mix(in srgb, var(--navy) 14%, transparent); }
.fx .ax-content .kb-card h3 { grid-column: 1 / -1; margin: 0; font-size: 15px; line-height: 22px; }
.fx .ax-content .kb-card p { margin: 0; font-size: 13px; line-height: 20px; }
.fx .ax-content .kb-card .kb-link { display: inline-flex; align-items: center; justify-content: flex-end; min-height: var(--touch); min-width: var(--touch); padding: 0 4px; color: var(--navy); font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.fx .ax-content .kb-card .kb-link:hover { text-decoration: underline; }
.fx .ax-content .kb-badge { display: inline-flex; align-items: center; margin-left: 8px; padding: 0 8px; border-radius: 4px; font-size: 12px; font-style: normal; font-weight: 500; line-height: 20px; color: var(--navy); background: color-mix(in srgb, var(--navy) 12%, var(--paper)); vertical-align: 1px; }
.fx .ax-content .kb-tabs { display: none; }
.fx .ax-content .flow-note { margin: var(--s2) 0 var(--s1); font-size: 12px; }
@media (max-width: 860px) {
  .fx .ax-content .kb-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 4px; margin-bottom: 8px; border-radius: 8px; background: color-mix(in srgb, var(--navy) 8%, var(--paper)); }
  .fx .ax-content .kb-tabs button { min-height: var(--touch); border: 0; border-radius: 6px; background: transparent; color: var(--navy); font: inherit; font-weight: 500; cursor: pointer; }
  .fx .ax-content .kb-tabs button[aria-selected="true"] { background: var(--navy); color: var(--paper); }
  .fx .ax-content .kanban.kb-js { display: block; }
  .fx .ax-content .kanban.kb-js .kb-col[data-active="false"] { display: none; }
}
