/*
  Genesis AiX Canon Integration
  Working candidate only.

  This stylesheet controls representation only.
  It creates no Canon standing or authority.
*/

.canon-shell {
  padding: 2rem 0 4rem;
}

.canon-hero {
  padding: 2rem;
  border: 1px solid var(--border, rgba(127,127,127,.28));
  border-radius: 18px;
  background: var(--surface, rgba(127,127,127,.06));
  margin-bottom: 1.5rem;
}

.canon-kicker {
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .72;
  margin-bottom: .6rem;
}

.canon-hero h1 {
  margin-top: 0;
}

.canon-standing {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border-left: 4px solid currentColor;
  background: var(--surface-alt, rgba(127,127,127,.07));
}

.canon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.canon-card {
  border: 1px solid var(--border, rgba(127,127,127,.28));
  border-radius: 14px;
  padding: 1.15rem;
  background: var(--surface, rgba(127,127,127,.04));
}

.canon-card h3 {
  margin-top: 0;
}

.canon-card p:last-child {
  margin-bottom: 0;
}

.canon-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin: 1.25rem 0;
}

.canon-flow-step {
  border: 1px solid var(--border, rgba(127,127,127,.28));
  border-radius: 999px;
  padding: .55rem .8rem;
  background: var(--surface, rgba(127,127,127,.04));
  font-size: .92rem;
}

.canon-flow-arrow {
  opacity: .55;
}

.canon-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.25rem;
}

.canon-boundary {
  margin-top: 2rem;
  padding: 1.15rem;
  border: 1px dashed var(--border, rgba(127,127,127,.4));
  border-radius: 14px;
}

.canon-status-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
}

.canon-status-table th,
.canon-status-table td {
  text-align: left;
  vertical-align: top;
  padding: .75rem;
  border-bottom: 1px solid var(--border, rgba(127,127,127,.22));
}

.canon-status-table th {
  width: 34%;
}

.canon-crosslink {
  margin: 2rem 0;
  padding: 1.15rem;
  border: 1px solid var(--border, rgba(127,127,127,.28));
  border-radius: 14px;
  background: var(--surface, rgba(127,127,127,.04));
}

@media (max-width: 700px) {
  .canon-hero {
    padding: 1.25rem;
  }

  .canon-flow-arrow {
    display: none;
  }

  .canon-status-table,
  .canon-status-table tbody,
  .canon-status-table tr,
  .canon-status-table th,
  .canon-status-table td {
    display: block;
    width: 100%;
  }
}
/* Keep the four launch choices distinct from architecture/reference links. */
.canon-view-launcher{grid-template-columns:repeat(4,minmax(0,1fr))}
.canon-view-launcher .canon-card{display:flex;flex-direction:column;min-width:0}
.canon-view-launcher .canon-card p:last-child{margin-top:auto;padding-top:12px}
.canon-view-launcher .btn{white-space:normal}
#canon-views{scroll-margin-top:120px}
.canon-more-links{color:var(--ink-soft)}
@media(max-width:1000px){.canon-view-launcher{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.canon-view-launcher{grid-template-columns:minmax(0,1fr)}}

/* Book Series selector: a rotary/carousel of three always-visible book
   buttons -- never a dropdown. Rotate arrows move the active book by one
   position; clicking a tab jumps to it directly. Panels beneath cross-fade. */
.book-series-selector{
  display:flex;align-items:stretch;gap:.6rem;margin:1.4rem 0 1rem;
}
.book-series-arrow{
  flex:0 0 auto;width:2.4rem;border:1px solid var(--border,rgba(127,127,127,.28));
  border-radius:999px;background:var(--surface,rgba(127,127,127,.04));
  font-size:1.2rem;line-height:1;cursor:pointer;color:inherit;
}
.book-series-arrow:hover{border-color:currentColor}
.book-series-tabs{
  flex:1 1 auto;display:flex;gap:.6rem;overflow-x:auto;scrollbar-width:thin;
}
.book-series-tab{
  flex:1 1 0;min-width:150px;text-align:left;cursor:pointer;
  border:1px solid var(--border,rgba(127,127,127,.28));
  border-radius:14px;padding:.7rem .9rem;background:var(--surface,rgba(127,127,127,.04));
  color:inherit;display:flex;flex-direction:column;gap:.15rem;
  transition:border-color .15s ease,background .15s ease;
}
.book-series-tab:hover{border-color:currentColor}
.book-series-tab.is-active{
  border-color:currentColor;background:var(--surface-alt,rgba(127,127,127,.09));
}
.book-series-tab-kicker{
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.65;
}
.book-series-tab-title{font-weight:650;font-size:.94rem}
.book-series-tab-status{font-size:.76rem;opacity:.7}
.book-series-panel{display:none}
.book-series-panel.is-active{display:block;animation:book-series-fade .18s ease}
@keyframes book-series-fade{from{opacity:0}to{opacity:1}}
.book-series-status-card{max-width:640px}
.book-series-provisional{font-weight:400;opacity:.7;font-size:.85em}
@media(max-width:700px){
  .book-series-selector{gap:.4rem}
  .book-series-arrow{width:2rem}
  .book-series-tabs{gap:.4rem}
  .book-series-tab{min-width:120px;padding:.55rem .65rem}
  .book-series-tab-title{font-size:.86rem}
}
@media(max-width:480px){
  .book-series-selector{gap:.3rem}
  .book-series-arrow{width:1.7rem;font-size:1rem}
  .book-series-tabs{gap:.3rem}
  .book-series-tab{min-width:0;padding:.5rem .35rem;text-align:center}
  .book-series-tab-kicker{font-size:.6rem}
  .book-series-tab-title{font-size:.7rem;line-height:1.2}
  .book-series-tab-status{display:none}
}
