:root {
      --sb:     330px;
      --top:    56px;
      --bg:     #0e0e12;
      --bg2:    #13131a;
      --bg3:    #19191f;
      --brd:    rgba(255,255,255,.07);
      --brd2:   rgba(255,255,255,.04);
      --ink:    #edebe4;
      --ink2:   rgba(237,235,228,.6);
      --ink3:   #9b9994;
      --ac:     #21c99f;
      --ac-d:   #1a6652;
      --ac-s:   rgba(33,201,159,.1);
      --amber:  #f5a42a;
      --code:   #13131a;
      --f:      -apple-system,"SF Pro Text","Segoe UI Variable Text","Inter",system-ui,sans-serif;
      --fd:     -apple-system,"SF Pro Display","Segoe UI Variable Display","Inter",system-ui,sans-serif;
      --fm:     "SF Mono","Fira Code","Cascadia Code",monospace;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: var(--f); background: var(--bg); color: var(--ink);
           -webkit-font-smoothing: antialiased; min-height: 100vh; }
    a { color: inherit; text-decoration: none; }

    /* ─── TOPBAR ─── */
    #topbar {
      position: fixed; top: 0; left: 0; right: 0; z-index: 200;
      height: var(--top);
      background: rgba(14,14,18,.95);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid var(--brd);
      display: flex; align-items: center;
      padding: 0 1.4rem;
      gap: 1.2rem;
    }
    .tb-brand {
      display: flex; align-items: center; gap: .7rem;
      width: var(--sb); flex-shrink: 0;
    }
    .tb-logo {
      width: 30px; height: 30px; border-radius: 9px;
      background: linear-gradient(135deg, var(--ac-d), var(--ac));
      display: flex; align-items: center; justify-content: center;
    }
    .tb-logo svg { width: 17px; height: 17px; }
    .tb-name { font-size: .9rem; font-weight: 700; color: var(--ink); letter-spacing: -.02em; }
    .tb-ver  { font-size: .7rem; font-weight: 600; color: var(--ac); opacity: .85;
               background: var(--ac-s); padding: .18rem .55rem; border-radius: 4px;
               letter-spacing: .03em; }
    .tb-divider { width: 1px; height: 20px; background: var(--brd); flex-shrink: 0; }
    .tb-mid {
      flex: 1; display: flex; align-items: center; gap: .5rem;
      font-size: .82rem; color: var(--ink3);
    }
    .tb-mid span { color: var(--ink2); }
    .tb-right { display: flex; align-items: center; gap: .8rem; margin-left: auto; }
    .tb-chip {
      padding: .26rem .7rem; border-radius: 6px;
      font-size: .72rem; font-weight: 600; letter-spacing: .02em;
    }
    .chip-ok  { background: rgba(33,201,159,.12); color: var(--ac); border: 1px solid rgba(33,201,159,.2); }
    .chip-priv{ background: rgba(245,164,42,.1);  color: var(--amber); border: 1px solid rgba(245,164,42,.18); }
    .tb-link  { font-size: .8rem; color: var(--ink3);
                padding: .3rem .7rem; border-radius: 6px; border: 1px solid var(--brd);
                transition: color .2s, background .2s; }
    .tb-link:hover { color: var(--ink); background: rgba(255,255,255,.05); }
    .hamburger {
      display: none; align-items: center; justify-content: center;
      width: 36px; height: 36px; flex-shrink: 0;
      background: none; border: 1px solid var(--brd);
      border-radius: 7px; cursor: pointer;
    }
    .hamburger span {
      display: block; width: 16px; height: 1.5px;
      background: var(--ink2); border-radius: 2px; position: relative;
    }
    .hamburger span::before,
    .hamburger span::after {
      content: ""; display: block; position: absolute; left: 0;
      width: 16px; height: 1.5px; background: var(--ink2); border-radius: 2px;
    }
    .hamburger span::before { top: -5px; }
    .hamburger span::after  { top:  5px; }
    #sidebar-overlay {
      display: none; position: fixed; inset: 0; z-index: 99;
      background: rgba(0,0,0,.45);
    }

    /* ─── LAYOUT ─── */
    .shell { display: flex; padding-top: var(--top); min-height: 100vh; }

    /* ─── SIDEBAR ─── */
    #sidebar {
      position: fixed; top: var(--top); bottom: 0; left: 0;
      width: var(--sb);
      background: var(--bg2);
      border-right: 1px solid var(--brd);
      overflow-y: auto; overflow-x: hidden;
      scrollbar-width: thin;
      scrollbar-color: rgba(255,255,255,.08) transparent;
      z-index: 100; padding: 1.5rem 0 3rem;
    }
    #sidebar::-webkit-scrollbar { width: 3px; }
    #sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.09); border-radius: 2px; }

    .sg { margin-bottom: .25rem; }
    .sg-label {
      padding: .55rem 1.4rem .25rem;
      font-size: .73rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
      color: var(--ink3);
    }
    .sn {
      display: flex; align-items: center; gap: .6rem;
      padding: .48rem 1.4rem;
      font-size: .9rem; color: var(--ink2);
      cursor: pointer;
      border-left: 2px solid transparent;
      transition: color .15s, background .15s, border-color .15s;
      border-radius: 0;
      position: relative;
    }
    .sn:hover { color: var(--ink); background: rgba(255,255,255,.04); }
    .sn.on {
      color: var(--ac); font-weight: 600;
      border-left-color: var(--ac);
      background: var(--ac-s);
    }
    .sn-sub {
      padding-left: 2.6rem;
      font-size: .84rem;
    }
    .sn-sub .sn { padding-left: 2.6rem; }
    .dot {
      width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0;
    }
    .d-ok  { background: var(--ac); }
    .d-now { background: var(--amber); animation: blink 2s infinite; }
    .d-off { background: rgba(255,255,255,.18); }
    @keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }
    .sn-pill {
      margin-left: auto; font-size: .69rem; font-weight: 700; padding: .14rem .52rem;
      border-radius: 4px; flex-shrink: 0;
    }
    .pill-ok   { background: rgba(33,201,159,.12); color: var(--ac); }
    .pill-now  { background: rgba(245,164,42,.12); color: var(--amber); }
    .pill-off  { background: rgba(255,255,255,.06); color: var(--ink3); }

    .sb-hr { height: 1px; background: var(--brd2); margin: .75rem 1.4rem; }

    /* ─── MAIN ─── */
    #main {
      margin-left: var(--sb); flex: 1;
      max-width: calc(100% - var(--sb));
      display: flex; flex-direction: column; align-items: center;
    }

    /* ─── PAGE (each hidden by default) ─── */
    .pg { display: none; flex-direction: column; width: 100%; align-items: center; }
    .pg.on { display: flex; }

    /* ─── DOC AREA ─── */
    .doc {
      width: 100%;
      max-width: 780px;
      padding: 3.5rem 2rem 6rem;
    }

    /* eyebrow */
    .eye {
      font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
      color: var(--ac); margin-bottom: .75rem; display: flex; align-items: center; gap: .5rem;
    }
    .eye::before { content:""; width:18px; height:1.5px; background:var(--ac); flex-shrink:0; }

    /* headings */
    .pg h1 {
      font-family: var(--fd); font-size: 2.4rem; font-weight: 760;
      letter-spacing: -.05em; line-height: 1.1; color: var(--ink);
      margin-bottom: 1rem;
    }
    .pg h2 {
      font-family: var(--fd); font-size: 1.45rem; font-weight: 700;
      letter-spacing: -.025em; color: var(--ink);
      margin: 2.8rem 0 .9rem;
      padding-bottom: .55rem;
      border-bottom: 1px solid var(--brd);
    }
    .pg h3 {
      font-size: 1.15rem; font-weight: 700; color: var(--ink);
      margin: 1.8rem 0 .5rem; letter-spacing: -.015em;
    }
    .pg p {
      font-size: 1.22rem; color: var(--ink2); line-height: 1.88;
      margin-bottom: 1rem; max-width: 68ch;
    }
    .pg ul { margin: .6rem 0 1rem 1.2rem; }
    .pg ul li {
      font-size: 1.18rem; color: var(--ink2); line-height: 1.78;
      margin-bottom: .35rem;
      list-style: none; position: relative; padding-left: 1.1rem;
    }
    .pg ul li::before {
      content:""; position:absolute; left:0; top:.68em;
      width:4px; height:4px; border-radius:50%; background: var(--ac); opacity:.7;
    }
    .pg ol { margin: .6rem 0 1rem 1.4rem; }
    .pg ol li {
      font-size: 1.18rem; color: var(--ink2); line-height: 1.78;
      margin-bottom: .35rem;
    }

    /* lead paragraph */
    .lead {
      font-size: 1.4rem !important; color: rgba(237,235,228,.72) !important;
      line-height: 1.78 !important; margin-bottom: 1.8rem !important;
      max-width: 60ch !important;
    }

    /* callout / note */
    .note {
      display: flex; gap: .85rem; align-items: flex-start;
      padding: 1rem 1.2rem;
      border-radius: 10px; margin: 1.5rem 0;
      border: 1px solid;
    }
    .note-ic { font-size: 1rem; flex-shrink: 0; margin-top: .05rem; }
    .note-t  { font-size: 1.05rem; color: var(--ink2); line-height: 1.72; }
    .note-t strong { font-weight: 700; }
    .note-info { background: rgba(33,201,159,.06); border-color: rgba(33,201,159,.2); }
    .note-warn { background: rgba(245,164,42,.06); border-color: rgba(245,164,42,.2); }
    .note-priv { background: rgba(255,255,255,.03); border-color: var(--brd); }

    .intro-hero {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
      gap: 1.2rem;
      margin: 1.5rem 0 2.1rem;
    }
    .intro-panel,
    .metric-band {
      border: 1px solid var(--brd);
      background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
      border-radius: 14px;
    }
    .intro-panel {
      padding: 1.25rem;
    }
    .chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: .55rem;
      margin: 1.3rem 0 0;
    }
    .chip {
      display: inline-flex;
      align-items: center;
      min-height: 32px;
      padding: .35rem .7rem;
      border: 1px solid var(--brd);
      border-radius: 999px;
      background: rgba(255,255,255,.03);
      font-size: .76rem;
      font-weight: 650;
      color: var(--ink2);
      letter-spacing: .02em;
    }
    .intro-subtitle {
      font-size: 1.08rem !important;
      color: rgba(237,235,228,.82) !important;
      line-height: 1.72 !important;
      margin-bottom: 1rem !important;
    }
    .mini-kicker {
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink3);
      margin-bottom: .85rem;
    }
    .mini-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: .55rem;
    }
    .mini-list li {
      margin: 0;
      padding: 0 0 0 1rem;
      font-size: .96rem;
      line-height: 1.55;
      color: var(--ink2);
    }
    .mini-list li::before {
      top: .55em;
    }
    .metric-band {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      margin: 1.5rem 0 1.8rem;
      overflow: hidden;
    }
    .metric-band article {
      padding: 1rem 1.1rem;
      border-right: 1px solid var(--brd2);
    }
    .metric-band article:last-child {
      border-right: 0;
    }
    .metric-band span {
      display: block;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ink3);
    }
    .metric-band strong {
      display: block;
      margin-top: .35rem;
      font-size: 1.05rem;
      color: var(--ink);
    }
    .metrics-section-copy {
      margin-top: .35rem;
    }
    .metric-grid-10m {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .9rem;
      margin: 1.2rem 0 1.8rem;
    }
    .metric-grid-10m .metric-card {
      display: block;
      padding: 1rem 1.05rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
    }
    .metric-grid-10m .metric-card-accent {
      border-color: rgba(33,201,159,.22);
      background: rgba(33,201,159,.05);
    }
    .stack-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
      margin: 1.25rem 0 1.9rem;
    }
    .stack-card {
      padding: 1.1rem 1.15rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
    }
    .card-kicker {
      margin-bottom: .45rem;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ink3);
    }
    .stack-card h3 {
      margin: 0 0 .45rem;
      font-size: 1rem;
    }
    .stack-card p {
      margin: 0;
      font-size: 1rem;
      line-height: 1.7;
    }
    .summary-shell {
      margin: 1.35rem 0 2rem;
      padding: 1.2rem 1.25rem;
      border: 1px solid var(--brd);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
    }
    .summary-shell h2 {
      margin-top: 0;
    }
    .summary-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .9rem;
      margin-top: 1rem;
    }
    .summary-pill {
      padding: 1rem 1.05rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: rgba(255,255,255,.025);
    }
    .summary-pill-label {
      display: block;
      margin-bottom: .45rem;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ink3);
    }
    .summary-pill h3 {
      margin: 0 0 .4rem;
      font-size: 1rem;
    }
    .summary-pill p {
      margin: 0;
      font-size: .98rem;
      line-height: 1.65;
    }
    .summary-note {
      margin: 1rem 0 0;
      font-size: .98rem !important;
      color: rgba(237,235,228,.72) !important;
    }
    .update-shell {
      margin: 1.5rem 0 2rem;
      display: grid;
      gap: 1rem;
    }
    .update-card {
      padding: 1.15rem 1.2rem;
      border: 1px solid var(--brd);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
    }
    .update-card-featured {
      border-color: rgba(33,201,159,.22);
      background: rgba(33,201,159,.04);
    }
    .update-card-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: .8rem;
    }
    .update-card-head h3 {
      margin: .2rem 0 0;
      font-size: 1.08rem;
    }
    .update-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 28px;
      padding: .2rem .6rem;
      border-radius: 999px;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .update-badge-completed {
      color: var(--ac);
      background: rgba(33,201,159,.1);
      border: 1px solid rgba(33,201,159,.18);
    }
    .update-badge-progress {
      color: var(--amber);
      background: rgba(245,164,42,.1);
      border: 1px solid rgba(245,164,42,.18);
    }
    .update-status-line,
    .update-subhead,
    .update-next-box p,
    .update-card p {
      margin-left: 0;
      max-width: none;
    }
    .compact-figures {
      align-items: start;
    }
    .compact-figures > figure {
      min-width: 0;
      margin: 0;
      overflow: hidden;
      border: 1px solid var(--brd);
      border-radius: 10px;
      background: rgba(255,255,255,.022);
    }
    .compact-figures > figure > img,
    .compact-figures > figure > .figure-link > img {
      display: block;
      width: 100%;
      max-width: 100%;
      height: auto;
      max-height: 280px;
      object-fit: contain;
      background: #f3f3f1;
    }
    .compact-figures > figure > figcaption {
      padding: .65rem .75rem .75rem;
      color: var(--ink2);
      font-size: .86rem;
      line-height: 1.5;
    }
    .phase-archive {
      margin: 1.5rem 0 2rem;
      border-top: 1px solid var(--brd);
      border-bottom: 1px solid var(--brd);
      background: rgba(255,255,255,.012);
    }
    .phase-archive-head {
      padding: 1.25rem 1.2rem 1rem;
      border-bottom: 1px solid var(--brd);
    }
    .phase-archive-head h2 {
      margin: .2rem 0 .55rem;
    }
    .phase-archive-head p {
      max-width: 820px;
      margin: 0;
    }
    .phase-archive-stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
      border-bottom: 1px solid var(--brd);
    }
    .phase-archive-stat {
      min-width: 0;
      padding: .85rem 1rem;
      border-right: 1px solid var(--brd);
    }
    .phase-archive-stat:last-child {
      border-right: 0;
    }
    .phase-archive-stat span {
      display: block;
      color: var(--ink3);
      font-size: .72rem;
      font-weight: 700;
      text-transform: uppercase;
    }
    .phase-archive-stat strong {
      display: block;
      margin-top: .2rem;
      color: var(--ink);
      font-size: 1.08rem;
    }
    .phase-archive-tools {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(160px, 220px);
      gap: .65rem;
      padding: .85rem 1rem;
      border-bottom: 1px solid var(--brd);
    }
    .phase-archive-gaps {
      padding: .75rem 1rem;
      border-bottom: 1px solid var(--brd);
      color: var(--ink3);
      font-size: .78rem;
      line-height: 1.55;
    }
    .phase-archive-gaps summary {
      color: var(--ink2);
      font-weight: 700;
      cursor: pointer;
    }
    .phase-archive-gaps p {
      margin-top: .55rem;
      overflow-wrap: anywhere;
    }
    .phase-archive-tools input,
    .phase-archive-tools select {
      width: 100%;
      min-width: 0;
      min-height: 40px;
      padding: .55rem .7rem;
      border: 1px solid var(--brd);
      border-radius: 6px;
      background: var(--bg2);
      color: var(--ink);
      font: inherit;
      font-size: .86rem;
    }
    .phase-archive-result {
      padding: .55rem 1rem;
      border-bottom: 1px solid var(--brd);
      color: var(--ink3);
      font-size: .78rem;
    }
    .phase-range {
      border-bottom: 1px solid var(--brd);
    }
    .phase-range:last-child {
      border-bottom: 0;
    }
    .phase-range > summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: .8rem 1rem;
      color: var(--ink);
      font-size: .88rem;
      font-weight: 700;
      cursor: pointer;
      list-style: none;
    }
    .phase-range > summary::-webkit-details-marker {
      display: none;
    }
    .phase-range > summary::after {
      content: "+";
      color: var(--ac);
      font-size: 1rem;
    }
    .phase-range[open] > summary::after {
      content: "−";
    }
    .phase-range-count {
      margin-left: auto;
      color: var(--ink3);
      font-size: .76rem;
      font-weight: 600;
    }
    .phase-ledger {
      list-style: none;
    }
    .phase-ledger-row {
      display: grid;
      grid-template-columns: 74px minmax(0, 1fr) auto;
      align-items: start;
      gap: .75rem;
      padding: .72rem 1rem;
      border-top: 1px solid var(--brd2);
    }
    .phase-ledger-row[hidden] {
      display: none;
    }
    .phase-code {
      color: var(--ac);
      font-family: var(--fm);
      font-size: .82rem;
      font-weight: 700;
    }
    .phase-ledger-main {
      min-width: 0;
    }
    .phase-ledger-main strong {
      display: block;
      overflow-wrap: anywhere;
      font-size: .87rem;
      line-height: 1.35;
    }
    .phase-ledger-meta,
    .phase-ledger-sources {
      display: block;
      margin-top: .28rem;
      color: var(--ink3);
      font-size: .74rem;
      line-height: 1.45;
      overflow-wrap: anywhere;
    }
    .phase-verdict {
      align-self: center;
      padding: .22rem .45rem;
      border: 1px solid var(--brd);
      border-radius: 4px;
      font-size: .66rem;
      font-weight: 800;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .phase-verdict.validated {
      border-color: rgba(33,201,159,.2);
      background: rgba(33,201,159,.09);
      color: var(--ac);
    }
    .phase-verdict.partial,
    .phase-verdict.mixed {
      border-color: rgba(245,164,42,.2);
      background: rgba(245,164,42,.08);
      color: var(--amber);
    }
    .phase-verdict.failed {
      border-color: rgba(239,98,98,.25);
      background: rgba(239,98,98,.08);
      color: #ef8c8c;
    }
    .phase-verdict.documented {
      color: var(--ink3);
    }
    .d-fail { background: #ef6262; box-shadow: 0 0 0 3px rgba(239,98,98,.08); }
    .pill-fail { color: #ef9b9b; background: rgba(239,98,98,.1); }
    .t-fail { color: #ef9b9b; background: rgba(239,98,98,.1); }

    .phase-sidebar-tools {
      margin: .75rem .65rem .45rem;
      padding: .65rem;
      border: 1px solid var(--brd);
      border-radius: 6px;
      background: rgba(255,255,255,.018);
    }
    .phase-sidebar-tools label,
    .phase-sidebar-tools span {
      display: block;
      color: var(--ink3);
      font-size: .68rem;
      line-height: 1.4;
    }
    .phase-sidebar-tools label {
      margin-bottom: .4rem;
      color: var(--ink2);
      font-weight: 700;
      text-transform: uppercase;
    }
    .phase-sidebar-tools input {
      width: 100%;
      min-height: 34px;
      margin-bottom: .35rem;
      padding: .4rem .5rem;
      border: 1px solid var(--brd);
      border-radius: 5px;
      background: var(--bg2);
      color: var(--ink);
      font: inherit;
      font-size: .75rem;
    }
    .sidebar-phase-range {
      border-top: 1px solid var(--brd2);
    }
    .sidebar-phase-range > summary {
      display: flex;
      justify-content: space-between;
      gap: .75rem;
      padding: .62rem .9rem;
      color: var(--ink2);
      font-size: .72rem;
      font-weight: 700;
      cursor: pointer;
      list-style: none;
    }
    .sidebar-phase-range > summary::-webkit-details-marker { display: none; }
    .sidebar-phase-range > summary::before {
      content: "+";
      color: var(--ac);
    }
    .sidebar-phase-range[open] > summary::before { content: "−"; }
    .sidebar-phase-range > summary span:first-child { margin-right: auto; }
    .phase-nav-row { min-width: 0; }
    .phase-nav-title {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .phase-component-spotlight {
      margin: 1.4rem 0 2.25rem;
      border-top: 1px solid var(--brd);
      border-bottom: 1px solid var(--brd);
    }
    .phase-spotlight-head {
      padding: 1.1rem 0 1rem;
    }
    .phase-spotlight-head h2 {
      margin: .2rem 0 .45rem;
    }
    .phase-focus-item {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr);
      align-items: center;
      gap: 1rem;
      padding: 1.1rem 0;
      border-top: 1px solid var(--brd2);
      scroll-margin-top: calc(var(--top) + 1rem);
    }
    .phase-focus-copy h3 {
      margin: .16rem 0 .45rem;
      font-size: 1.1rem;
    }
    .phase-focus-copy p {
      margin: 0;
    }
    .phase-focus-meta {
      margin-top: .55rem !important;
      color: var(--ink3) !important;
      font-size: .76rem !important;
    }
    .phase-focus-link {
      display: inline-block;
      margin-top: .7rem;
      color: var(--ac);
      font-size: .8rem;
      font-weight: 700;
    }
    .phase-focus-figure {
      margin: 0;
    }

    .phase-continuation {
      margin-top: 2.25rem;
      scroll-margin-top: calc(var(--top) + 1rem);
    }
    .phase-continuation-head {
      padding: 1.15rem 0 1rem;
      border-top: 1px solid var(--brd);
    }
    .phase-continuation-head h2 {
      margin: .2rem 0 .5rem;
    }
    .phase-continuation-stats {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border-top: 1px solid var(--brd);
      border-bottom: 1px solid var(--brd);
    }
    .phase-continuation-stats > div {
      min-width: 0;
      padding: .8rem;
      border-right: 1px solid var(--brd);
    }
    .phase-continuation-stats > div:last-child { border-right: 0; }
    .phase-continuation-stats span,
    .phase-continuation-stats strong {
      display: block;
    }
    .phase-continuation-stats span {
      color: var(--ink3);
      font-size: .68rem;
      font-weight: 700;
      text-transform: uppercase;
    }
    .phase-continuation-stats strong {
      margin-top: .18rem;
      font-size: 1.05rem;
    }
    .phase-continuation-tools {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(180px, 230px);
      gap: .65rem;
      padding: .85rem 0;
    }
    .phase-continuation-tools input,
    .phase-continuation-tools select {
      width: 100%;
      min-width: 0;
      min-height: 40px;
      padding: .55rem .7rem;
      border: 1px solid var(--brd);
      border-radius: 6px;
      background: var(--bg2);
      color: var(--ink);
      font: inherit;
      font-size: .84rem;
    }
    .phase-continuation-result {
      margin: 0 0 .7rem;
      color: var(--ink3);
      font-size: .78rem;
    }
    .phase-story-range[hidden],
    .phase-story[hidden],
    .phase-nav-row[hidden],
    .sidebar-phase-range[hidden] {
      display: none;
    }
    .phase-story-range {
      margin-top: 1.5rem;
    }
    .phase-story-range-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 1rem;
      padding: .7rem 0;
      border-bottom: 1px solid var(--brd);
      color: var(--ink);
      font-size: .78rem;
      text-transform: uppercase;
    }
    .phase-story-range-head strong {
      color: var(--ink3);
      font-size: .7rem;
    }
    .phase-story {
      border-bottom: 1px solid var(--brd2);
      scroll-margin-top: calc(var(--top) + 1rem);
    }
    .phase-story-head {
      display: grid;
      grid-template-columns: minmax(82px, auto) minmax(0, 1fr) auto 18px;
      align-items: center;
      gap: .75rem;
      padding: .9rem 0;
      cursor: pointer;
      list-style: none;
    }
    .phase-story-head::-webkit-details-marker { display: none; }
    .phase-story-head::after {
      content: "+";
      color: var(--ac);
      font-family: var(--fm);
      font-size: .95rem;
      font-weight: 800;
      text-align: center;
    }
    .phase-story[open] > .phase-story-head::after {
      content: "−";
    }
    .phase-story-body {
      padding: 0 0 1.15rem calc(82px + .75rem);
    }
    .phase-story-id {
      color: var(--ac);
      font-family: var(--fm);
      font-size: .8rem;
      font-weight: 800;
    }
    .phase-story-head h3 {
      margin: 0;
      overflow-wrap: anywhere;
      font-size: 1rem;
      line-height: 1.35;
    }
    .phase-story-summary {
      max-width: 860px;
      margin: .65rem 0 0;
      color: var(--ink2);
      font-size: .88rem;
      line-height: 1.62;
    }
    .phase-story-verdict,
    .phase-no-image {
      margin: .5rem 0 0;
      color: var(--ink3);
      font-size: .74rem;
      line-height: 1.5;
    }
    .phase-story-sources {
      margin-top: .5rem;
      color: var(--ink3);
      font-size: .72rem;
    }
    .phase-story-sources summary {
      color: var(--ink2);
      cursor: pointer;
    }
    .phase-story-sources p {
      margin-top: .35rem;
      overflow-wrap: anywhere;
    }
    .phase-evidence-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .75rem;
      margin-top: .85rem;
    }
    .phase-evidence-card {
      margin: 0;
    }
    .phase-evidence-card .figure-link {
      display: flex;
      aspect-ratio: 16 / 9;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      background: #f4f4f2;
    }
    .phase-evidence-card .figure-link img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .phase-evidence-card figcaption {
      padding: .65rem .7rem;
      font-size: .75rem;
      line-height: 1.48;
    }
    .update-status-line,
    .update-subhead {
      font-size: .9rem !important;
      color: var(--ink2) !important;
    }
    .update-content-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(220px, .8fr);
      gap: 1rem;
      margin-top: .8rem;
    }
    .update-list.compact-list,
    .update-list {
      margin-left: 0;
    }
    .update-list.compact-list li,
    .update-list li {
      font-size: .98rem;
      line-height: 1.65;
      margin-bottom: .28rem;
    }
    .update-highlights {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .7rem;
    }
    .update-highlight-card {
      padding: .85rem .9rem;
      border: 1px solid var(--brd2);
      border-radius: 10px;
      background: rgba(255,255,255,.025);
    }
    .update-highlight-card span {
      display: block;
      font-size: .7rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ink3);
    }
    .update-highlight-card strong {
      display: block;
      margin-top: .3rem;
      font-size: 1rem;
      color: var(--ink);
    }
    .update-next-box {
      margin-top: 1rem;
      padding-top: .9rem;
      border-top: 1px solid var(--brd2);
    }
    .lineage-map {
      margin: 1.2rem 0 1.5rem;
      padding: 1rem 1.05rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: rgba(255,255,255,.022);
      overflow-x: auto;
    }
    .lineage-map code {
      display: block;
      font-family: var(--fm);
      font-size: .83rem;
      line-height: 1.7;
      color: var(--ink2);
      white-space: pre;
    }
    .mini-card-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .9rem;
      margin: 1rem 0 1.8rem;
    }
    .mini-card {
      padding: 1rem 1.05rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: rgba(255,255,255,.022);
    }
    .mini-card h3 {
      margin: 0 0 .4rem;
      font-size: 1rem;
    }
    .mini-card p {
      margin: 0;
      font-size: .98rem;
      line-height: 1.65;
    }
    .status-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: .8rem;
      margin: 1rem 0 1.2rem;
    }
    .status-strip div,
    .summary-card {
      padding: .95rem 1rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: rgba(255,255,255,.022);
    }
    .status-strip span,
    .summary-card .card-kicker {
      display: block;
      color: var(--ink3);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .status-strip strong {
      display: block;
      margin-top: .35rem;
      color: var(--ink);
      font-size: 1.04rem;
    }
    .summary-card h3 {
      margin: .3rem 0 .4rem;
      font-size: 1rem;
    }
    .summary-card p {
      margin: 0;
      font-size: .98rem;
      line-height: 1.65;
    }
    .roadmap-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .9rem;
      margin: 1rem 0 1.2rem;
    }
    .roadmap-card {
      padding: 1rem 1.05rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: rgba(255,255,255,.022);
    }
    .roadmap-tag {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 26px;
      padding: .15rem .55rem;
      margin-bottom: .55rem;
      border-radius: 999px;
      font-size: .68rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ink2);
      background: rgba(255,255,255,.04);
      border: 1px solid var(--brd2);
    }
    .roadmap-card h3 {
      margin: 0 0 .4rem;
      font-size: 1rem;
    }
    .roadmap-card p {
      margin: 0;
      font-size: .98rem;
      line-height: 1.65;
    }
    .figure-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .9rem;
      margin: 1rem 0 1.3rem;
    }
    .figure-card {
      padding: .8rem;
      border: 1px solid var(--brd);
      border-radius: 12px;
      background: rgba(255,255,255,.022);
    }
    .figure-card.figure-card-wide {
      grid-column: 1 / -1;
    }
    .figure-link {
      display: block;
      border-radius: 8px;
      overflow: hidden;
      background: rgba(255,255,255,.04);
    }
    .figure-card img,
    .figure-card picture {
      display: block;
      width: 100%;
      border-radius: 8px;
      overflow: hidden;
    }
    .figure-card img {
      height: auto;
      object-fit: contain;
      background: #f3f3f1;
    }
    .figure-link:hover img {
      filter: brightness(1.02);
    }
    .figure-card figcaption {
      margin-top: .7rem;
      color: var(--ink2);
      font-size: .9rem;
      line-height: 1.55;
    }
    .featured-figure {
      margin: 1rem 0 1.4rem;
      padding: .9rem;
      border: 1px solid var(--brd);
      border-radius: 14px;
      background: rgba(255,255,255,.022);
    }
    .featured-figure img {
      display: block;
      width: 100%;
      border-radius: 10px;
      height: auto;
      object-fit: contain;
      background: #f3f3f1;
    }
    .featured-figure figcaption {
      margin-top: .75rem;
      color: var(--ink2);
      font-size: .92rem;
      line-height: 1.55;
    }
    .gallery-intro-shell {
      position: relative;
      overflow: hidden;
      margin: 1.1rem 0 1rem;
      padding: 1rem 1.05rem;
      border: 1px solid var(--brd);
      border-radius: 16px;
      background: linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.015));
    }
    .gallery-intro-shell::after {
      content: "";
      position: absolute;
      inset: 0 auto auto 0;
      width: 100%;
      height: 3px;
      background: linear-gradient(90deg, rgba(33,201,159,.9), rgba(33,201,159,.15) 58%, transparent 86%);
    }
    .gallery-intro-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
      gap: 1rem;
      align-items: start;
    }
    .gallery-intro-copy,
    .gallery-intro-side,
    .gallery-load,
    .gallery-group,
    .gallery-group-head,
    .gallery-card,
    .gallery-links,
    .gallery-filter-bar {
      display: flex;
      flex-wrap: wrap;
      gap: .55rem;
      margin-top: -.2rem;
    }
    .gallery-groups [hidden] {
      display: none !important;
    }
    .gallery-filter-chip {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: .42rem .75rem;
      border: 1px solid var(--brd);
      border-radius: 999px;
      background: rgba(255,255,255,.04);
      color: var(--ink2);
      font: inherit;
      font-size: .8rem;
      font-weight: 700;
      letter-spacing: .03em;
      cursor: pointer;
    }
    .gallery-filter-chip:hover {
      background: rgba(255,255,255,.08);
      color: var(--ink);
    }
    .gallery-filter-chip.is-active {
      border-color: rgba(33,201,159,.24);
      background: rgba(33,201,159,.12);
      color: var(--ac);
    }
    .gallery-card-meta {
      display: grid;
      gap: .65rem;
    }
    .gallery-intro-title {
      margin: 0;
      max-width: 18ch;
      font-size: 1.4rem;
      line-height: 1.04;
      color: var(--ink);
    }
    .gallery-intro-text,
    .gallery-note,
    .gallery-group-head p,
    .gallery-filename,
    .gallery-detail {
      margin: 0;
      max-width: none;
      font-size: .95rem;
      line-height: 1.6;
      color: var(--ink2);
    }
    .gallery-count {
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      width: fit-content;
      padding: .45rem .8rem;
      border-radius: 999px;
      border: 1px solid rgba(33,201,159,.22);
      background: rgba(33,201,159,.08);
      color: var(--ac);
      font-size: .82rem;
      font-weight: 700;
      letter-spacing: .03em;
    }
    .gallery-load {
      padding: .95rem 1rem;
      border: 1px solid var(--brd);
      border-radius: 14px;
      background: rgba(255,255,255,.025);
    }
    .gallery-trigger {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 40px;
      width: fit-content;
      padding: .6rem .95rem;
      border: 1px solid rgba(33,201,159,.22);
      border-radius: 10px;
      background: rgba(33,201,159,.1);
      color: var(--ink);
      font: inherit;
      font-size: .88rem;
      font-weight: 700;
      cursor: pointer;
    }
    .gallery-trigger:hover { background: rgba(33,201,159,.16); }
    .gallery-groups {
      display: grid;
      gap: 2rem;
      margin-top: 1.2rem;
    }
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
      gap: 1rem;
    }
    .gallery-card {
      padding: .85rem;
      border: 1px solid var(--brd);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.016));
    }
    .gallery-group:first-child .gallery-grid,
    .gallery-group:nth-child(2) .gallery-grid {
      grid-template-columns: 1fr;
    }
    .gallery-group:first-child .gallery-card,
    .gallery-group:nth-child(2) .gallery-card {
      max-width: 1040px;
      width: 100%;
      justify-self: center;
    }
    .gallery-image-link {
      display: block;
      border-radius: 10px;
      overflow: hidden;
      background: rgba(255,255,255,.04);
    }
    .gallery-card img {
      display: block;
      width: 100%;
      height: auto;
      min-height: 320px;
      border-radius: 10px;
      background: #f3f3f1;
      object-fit: contain;
    }
    .gallery-card h3 {
      margin: .1rem 0 0;
      font-size: 1rem;
      color: var(--ink);
    }
    .gallery-filename strong,
    .gallery-detail strong { color: var(--ink); }
    .gallery-card-meta,
    .gallery-links {
      display: flex;
      flex-wrap: wrap;
      gap: .55rem;
    }
    .gallery-chip,
    .gallery-link {
      display: inline-flex;
      align-items: center;
      min-height: 32px;
      padding: .38rem .68rem;
      border-radius: 999px;
      font-size: .76rem;
      font-weight: 700;
      letter-spacing: .04em;
    }
    .gallery-chip {
      border: 1px solid var(--brd);
      background: rgba(255,255,255,.05);
      color: var(--ink2);
      text-transform: uppercase;
    }
    .gallery-link {
      border: 1px solid rgba(33,201,159,.18);
      background: rgba(33,201,159,.08);
      color: var(--ac);
    }
    .gallery-link:hover { background: rgba(33,201,159,.14); }
    .img-modal {
      position: fixed;
      inset: 0;
      z-index: 500;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 1.25rem;
      background: rgba(8,8,12,.84);
      backdrop-filter: blur(10px);
    }
    .img-modal.on { display: flex; }
    .img-modal-dialog {
      position: relative;
      width: min(1200px, calc(100vw - 2rem));
      max-height: calc(100vh - 2rem);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      gap: .8rem;
      padding: 1rem;
      border: 1px solid var(--brd);
      border-radius: 18px;
      background: #111118;
      box-shadow: 0 28px 80px rgba(0,0,0,.45);
    }
    .img-modal-close {
      position: absolute;
      top: .8rem;
      right: .8rem;
      width: 42px;
      height: 42px;
      border: 1px solid var(--brd);
      border-radius: 999px;
      background: rgba(255,255,255,.06);
      color: var(--ink);
      font: inherit;
      font-size: 1.1rem;
      font-weight: 700;
      cursor: pointer;
    }
    .img-modal-title {
      padding-right: 3.5rem;
      font-size: 1rem;
      color: var(--ink);
      line-height: 1.5;
    }
    .img-modal-stage {
      display: block;
      margin-bottom: .35rem;
      font-size: .76rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ac);
    }
    .img-modal-media {
      min-height: 0;
      overflow: auto;
      border-radius: 14px;
      background: rgba(255,255,255,.03);
    }
    .img-modal-media img {
      display: block;
      width: 100%;
      height: auto;
      background: #f3f3f1;
    }
    .img-modal-caption {
      font-size: .92rem;
      line-height: 1.6;
      color: var(--ink2);
    }
    body.modal-open { overflow: hidden; }

    /* code-like row */
    .prop-table { width: 100%; border-collapse: collapse; margin: 1.2rem 0 1.8rem; }
    .prop-table th {
      text-align: left; font-size: .72rem; font-weight: 700; text-transform: uppercase;
      letter-spacing: .08em; color: var(--ink3);
      padding: .5rem .85rem; border-bottom: 1px solid var(--brd);
    }
    .prop-table td {
      padding: .9rem 1rem; border-bottom: 1px solid var(--brd2);
      font-size: 1.1rem; color: var(--ink2); vertical-align: top;
    }
    .prop-table tr:last-child td { border-bottom: none; }
    .prop-table tr:hover td { background: rgba(255,255,255,.02); }
    .prop-k  { font-family: var(--fm); font-size: .8rem; color: var(--ink); white-space: nowrap; }
    .prop-v  { max-width: 40ch; line-height: 1.65; }
    .tag-s {
      display: inline-block; padding: .14rem .5rem; border-radius: 5px;
      font-size: .7rem; font-weight: 700; white-space: nowrap;
    }
    .t-ok  { background: rgba(33,201,159,.12); color: var(--ac); }
    .t-now { background: rgba(245,164,42,.12);  color: var(--amber); }
    .t-off { background: rgba(255,255,255,.07); color: var(--ink3); }

    /* timeline items */
    .tl { display: grid; gap: 0; margin: 1.5rem 0; }
    .tl-item {
      display: grid; grid-template-columns: 120px 1fr;
      gap: 1.5rem; padding: 1.2rem 0;
      border-bottom: 1px solid var(--brd2);
      position: relative;
    }
    .tl-item:last-child { border-bottom: none; }
    .tl-date {
      font-size: .75rem; font-weight: 700; color: var(--ink3);
      text-transform: uppercase; letter-spacing: .06em;
      padding-top: .15rem;
    }
    .tl-title { font-size: 1.2rem; font-weight: 700; color: var(--ink); margin-bottom: .35rem; }
    .tl-desc  { font-size: 1.1rem; color: var(--ink2); line-height: 1.78; }

    /* phase block */
    .phase-block {
      padding: 1.45rem 1.5rem;
      margin-bottom: 1rem;
      background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
      border: 1px solid var(--brd);
      border-radius: 14px;
      box-shadow: 0 10px 28px rgba(0,0,0,.14);
    }
    .phase-block:hover { border-color: rgba(255,255,255,.12); }
    .phase-block.active-b { border-color: rgba(33,201,159,.22); background: rgba(33,201,159,.04); }
    .pb-head {
      display: flex;
      align-items: center;
      gap: .75rem;
      margin-bottom: .7rem;
      flex-wrap: wrap;
    }
    .pb-num  {
      font-family: var(--fm); font-size: .72rem; font-weight: 700;
      background: var(--bg2); color: var(--ink3);
      padding: .18rem .6rem; border-radius: 5px; border: 1px solid var(--brd);
      flex-shrink: 0;
    }
    .pb-title {
      font-size: 1.04rem;
      font-weight: 760;
      color: var(--ink);
      letter-spacing: -.015em;
      max-width: 34ch;
    }
    .pb-date  {
      margin-left: auto;
      font-size: .74rem;
      color: var(--ink3);
      white-space: nowrap;
    }
    .pb-desc  {
      font-size: 1.02rem;
      color: var(--ink2);
      line-height: 1.72;
      max-width: 68ch;
    }
    .phase-data {
      margin-top: 1rem;
      padding-top: 1rem;
      border-top: 1px solid var(--brd2);
    }
    .phase-data-label {
      margin: 0 0 .7rem;
      font-size: 0;
      color: transparent;
      position: relative;
      height: 18px;
    }
    .phase-data-label::after {
      content: "Key results";
      position: absolute;
      left: 0;
      top: 0;
      font-size: .74rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ink3);
    }
    .phase-data-list {
      margin: 0;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: .55rem .85rem;
    }
    .phase-data-list li {
      margin: 0;
      min-height: 100%;
      padding: .7rem .8rem .7rem 1.1rem;
      font-size: .91rem;
      line-height: 1.5;
      color: var(--ink2);
      border: 1px solid var(--brd2);
      border-radius: 10px;
      background: rgba(255,255,255,.025);
    }
    .phase-data-list li::before {
      top: 1.1rem;
      left: .62rem;
      width: 4px;
      height: 4px;
    }

    /* divider */
    .hdivider { height: 1px; background: var(--brd); margin: 2.5rem 0; }

    /* on-this-page */
    #otp {
      position: fixed; top: var(--top); right: 0;
      width: 200px; padding: 2rem 1.4rem;
      font-size: .76rem;
      display: none;
    }
    @media (min-width: 1280px) { #otp { display: block; } #main .doc { padding-right: 2rem; } }
    .otp-label { font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
                 color: var(--ink3); margin-bottom: .7rem; }
    .otp-a { display: block; padding: .3rem 0; color: var(--ink3); font-size: .77rem;
              border-left: 1px solid var(--brd); padding-left: .85rem; margin-bottom: .05rem;
              transition: color .15s, border-color .15s; }
    .otp-a:hover { color: var(--ink2); border-left-color: rgba(255,255,255,.22); }
    .otp-a.cur { color: var(--ac); border-left-color: var(--ac); }

    /* footer */
    .doc-footer {
      margin-left: var(--sb); padding: 1.2rem 2rem;
      border-top: 1px solid var(--brd);
      display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
    }
    .df-l { font-size: .78rem; color: var(--ink3); }
    .df-r { display: flex; gap: 1.5rem; }
    .df-r a { font-size: .78rem; color: var(--ink3); transition: color .2s; }
    .df-r a:hover { color: var(--ink2); }

    /* responsive */
    @media (max-width: 900px) {
      :root { --sb: 250px; }
      .doc { padding: 2rem 1.5rem 4rem; }
      .intro-hero,
      .metric-band,
      .stack-grid,
      .metric-grid-10m,
      .summary-grid,
      .update-content-grid,
      .update-highlights,
      .mini-card-grid,
      .status-strip,
      .roadmap-grid,
      .figure-grid { grid-template-columns: 1fr; }
      .phase-archive-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .phase-archive-stat { border-bottom: 1px solid var(--brd); }
      .phase-focus-item { grid-template-columns: 1fr; }
      .phase-continuation-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .phase-continuation-stats > div:nth-child(2) { border-right: 0; }
      .phase-continuation-stats > div { border-bottom: 1px solid var(--brd); }
      .phase-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .gallery-intro-grid,
      .gallery-grid { grid-template-columns: 1fr; }
      .gallery-group:first-child .gallery-grid,
      .gallery-group:nth-child(2) .gallery-grid { grid-template-columns: 1fr; }
      .metric-band article { border-right: 0; border-bottom: 1px solid var(--brd2); }
      .metric-band article:last-child { border-bottom: 0; }
    }
    @media (max-width: 680px) {
      :root { --sb: 0px; }
      #sidebar { transform: translateX(-280px); width: 280px; transition: transform .3s; }
      #sidebar.open { transform: translateX(0); }
      #sidebar-overlay.on { display: block; }
      #main, .doc-footer { margin-left: 0; max-width: 100%; }
      .doc { padding: 2rem 1rem 4rem; }
      .pg h1 { font-size: 1.8rem; }
      .figure-card.figure-card-wide { grid-column: auto; }
      .phase-archive-tools { grid-template-columns: 1fr; }
      .phase-ledger-row { grid-template-columns: minmax(84px, auto) minmax(0, 1fr); }
      .phase-verdict { grid-column: 2; justify-self: start; }
      .phase-continuation-tools,
      .phase-evidence-grid { grid-template-columns: 1fr; }
      .phase-continuation-stats { grid-template-columns: 1fr; }
      .phase-continuation-stats > div { border-right: 0; }
      .phase-story-head { grid-template-columns: minmax(82px, auto) minmax(0, 1fr) 18px; }
      .phase-story-head .tag-s { grid-column: 2; justify-self: start; }
      .phase-story-head::after { grid-column: 3; grid-row: 1 / span 2; }
      .phase-story-body { padding-left: 0; }
      .hamburger { display: flex; }
      .tb-brand { width: auto; }
    }
/* Phase evidence pages: layout additions built on the original Elena AILL theme. */
body.phase-page .pg { display: flex; }
body.phase-page .doc { max-width: 860px; }
body.phase-page .shell { min-width: 0; }
body.phase-page #main {
  flex: 0 0 calc(100% - var(--sb));
  width: calc(100% - var(--sb));
}
body.phase-page #main,
body.phase-page .pg,
body.phase-page .doc { min-width: 0; }
body.phase-page { overflow-x: hidden; }
body.phase-page .tb-brand-link { display: flex; align-items: center; gap: .7rem; }
body.phase-page .tb-brand { flex-shrink: 0; }
body.phase-page .tb-mid {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}
body.phase-page .tb-mid span { flex-shrink: 0; }
body.phase-page .tb-mid span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.phase-page .tb-right {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: max-content;
  white-space: nowrap;
}
body.phase-page .tb-right .tb-chip { flex-shrink: 0; white-space: nowrap; }
body.phase-page .sn { text-decoration: none; }
body.phase-page .sn[aria-current="page"] {
  color: var(--ac);
  font-weight: 600;
  border-left-color: var(--ac);
  background: var(--ac-s);
}
.preview-ribbon {
  margin-bottom: 1.2rem;
  padding: .65rem .85rem;
  border: 1px solid rgba(245,164,42,.2);
  border-radius: 9px;
  background: rgba(245,164,42,.06);
  color: var(--amber);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.archive-back-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 1.25rem;
  padding: .55rem .75rem;
  border: 1px solid var(--brd);
  border-radius: 8px;
  background: rgba(255,255,255,.018);
  color: var(--ink2);
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.3;
  text-decoration: none;
}
.archive-back-link:hover {
  border-color: rgba(30,219,177,.35);
  background: var(--ac-s);
  color: var(--ac);
}
.archive-back-link:focus-visible {
  outline: 2px solid var(--ac);
  outline-offset: 3px;
}
.phase-hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 1.4rem;
}
.phase-hero-meta .pb-date { margin-left: 0; }
.phase-hero-meta .tag-s,
.pb-head .tag-s,
.status-strip strong {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.t-fail {
  background: rgba(239,107,115,.12);
  color: #ef6b73;
}
.note-fail {
  background: rgba(239,107,115,.06);
  border-color: rgba(239,107,115,.22);
}
.evidence-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0 1.4rem;
  overflow: hidden;
  border: 1px solid var(--brd);
  border-radius: 12px;
}
.evidence-table th,
.evidence-table td {
  padding: .8rem .9rem;
  border-bottom: 1px solid var(--brd2);
  text-align: left;
  vertical-align: top;
}
.evidence-table tr:last-child th,
.evidence-table tr:last-child td { border-bottom: 0; }
.evidence-table th {
  width: 45%;
  color: var(--ink3);
  font-size: .72rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.evidence-table td {
  color: var(--ink);
  font-family: var(--fm);
  font-size: .86rem;
}
.source-list {
  display: grid;
  gap: .65rem;
  margin: 1rem 0 1.5rem !important;
}
.source-list li {
  padding: .75rem .85rem .75rem 1.15rem !important;
  border: 1px solid var(--brd2);
  border-radius: 9px;
  background: rgba(255,255,255,.022);
  overflow-wrap: anywhere;
}
.source-list code {
  font-family: var(--fm);
  color: var(--ink);
  font-size: .8rem;
}
.phase-data-list li,
.evidence-table td {
  overflow-wrap: anywhere;
}
.result-card {
  display: grid;
  gap: 1.2rem;
  padding: 1.45rem 1.5rem;
  margin-bottom: 1rem;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  border: 1px solid var(--brd);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
  overflow: visible;
}
.result-card.is-validated {
  border-color: rgba(33,201,159,.22);
  background: rgba(33,201,159,.04);
}
.result-card .pb-head { margin-bottom: 0; }
body.phase-page .phase-data-label {
  position: static;
  height: auto;
  margin: 0;
  color: inherit;
  font-size: inherit;
}
body.phase-page .phase-data-label::after {
  content: none;
  position: static;
}
.result-interpretation {
  margin: 0;
  max-width: 70ch;
  color: var(--ink2);
  font-size: 1rem;
  line-height: 1.72;
}
.key-results {
  display: grid;
  gap: .7rem;
  padding-top: 1.05rem;
  border-top: 1px solid var(--brd2);
}
.result-section-label {
  position: static;
  height: auto;
  margin: 0;
  color: var(--ink3);
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.key-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin: 0;
}
.key-result-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: .75rem;
  min-width: 0;
  padding: .72rem .8rem;
  border: 1px solid var(--brd2);
  border-radius: 9px;
  background: rgba(255,255,255,.022);
}
.key-result-item dt {
  min-width: 0;
  color: var(--ink3);
  font-size: .78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.key-result-item dd {
  margin: 0;
  max-width: 22ch;
  color: var(--ink);
  font-family: var(--fm);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: right;
  overflow-wrap: anywhere;
}
.scope-note {
  padding: .85rem .95rem;
  border-left: 2px solid rgba(255,255,255,.13);
  border-radius: 0 8px 8px 0;
  background: rgba(255,255,255,.018);
}
.scope-note .result-section-label { margin-bottom: .35rem; }
.scope-note p {
  margin: 0;
  color: var(--ink3);
  font-size: .84rem;
  line-height: 1.58;
}
@media (max-width: 720px) {
  .result-card { padding: 1.15rem; gap: 1rem; }
  .key-result-grid { grid-template-columns: 1fr; }
  .key-result-item { grid-template-columns: minmax(0, 1fr) minmax(72px, auto); }
}
@media (max-width: 420px) {
  .key-result-item { grid-template-columns: 1fr; gap: .25rem; }
  .key-result-item dd { max-width: none; text-align: left; }
}
.phase-pager {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin-top: 2.5rem;
}
.phase-pager a,
.phase-pager span {
  min-height: 76px;
  padding: .8rem .9rem;
  border: 1px solid var(--brd);
  border-radius: 11px;
  background: rgba(255,255,255,.022);
}
.phase-pager a:hover {
  border-color: rgba(33,201,159,.28);
  background: rgba(33,201,159,.05);
}
.phase-pager small {
  display: block;
  margin-bottom: .2rem;
  color: var(--ink3);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.phase-pager strong {
  color: var(--ink);
  font-size: .86rem;
}
.phase-pager .next { text-align: right; }
.phase-pager .empty { opacity: .45; }
.phase-figure-note {
  margin-top: .7rem;
  color: var(--ink3);
  font-size: .78rem;
}
.empty-evidence {
  margin: 1rem 0 1.4rem;
  padding: 1.1rem 1.2rem;
  border: 1px dashed rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
}
.empty-evidence strong {
  display: block;
  margin-bottom: .35rem;
  color: var(--ink);
}
.empty-evidence p {
  margin: 0;
  font-size: .98rem;
  line-height: 1.65;
}
.archive-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  margin: 1.2rem 0;
}
.archive-tools input {
  width: 100%;
  min-height: 44px;
  padding: .65rem .8rem;
  border: 1px solid var(--brd);
  border-radius: 9px;
  outline: none;
  background: rgba(255,255,255,.035);
  color: var(--ink);
  font: inherit;
}
.archive-tools input:focus {
  border-color: rgba(33,201,159,.45);
  box-shadow: 0 0 0 3px rgba(33,201,159,.08);
}
.archive-result {
  display: flex;
  align-items: center;
  min-width: 120px;
  padding: .65rem .8rem;
  border: 1px solid var(--brd);
  border-radius: 9px;
  color: var(--ink2);
  font-size: .82rem;
}
.archive-list {
  display: grid;
  gap: .7rem;
  margin: 1.2rem 0;
}
.archive-row {
  display: grid;
  grid-template-columns: minmax(86px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border: 1px solid var(--brd);
  border-radius: 11px;
  background: rgba(255,255,255,.022);
}
.archive-row:hover {
  border-color: rgba(33,201,159,.25);
  background: rgba(33,201,159,.035);
}
.archive-row[hidden] { display: none; }
.archive-status-filter {
  width: 100%;
  appearance: none;
  border: 0;
  border-left: 2px solid transparent;
  background: transparent;
  font: inherit;
  text-align: left;
}
.archive-status-filter[aria-pressed="true"] {
  color: var(--ac);
  font-weight: 600;
  border-left-color: var(--ac);
  background: var(--ac-s);
}
.archive-status-filter:focus-visible {
  outline: 2px solid rgba(33,201,159,.55);
  outline-offset: -2px;
}
.archive-row-title {
  min-width: 0;
  color: var(--ink);
  font-size: .94rem;
  font-weight: 700;
}
.archive-row-title small {
  display: block;
  margin-top: .18rem;
  color: var(--ink3);
  font-size: .72rem;
  font-weight: 500;
}
@media (max-width: 1180px) {
  body.phase-page { --sb: 0px; }
  body.phase-page .shell { display: block; }
  body.phase-page #sidebar {
    width: 280px;
    transform: translateX(-280px);
    transition: transform .3s;
  }
  body.phase-page #sidebar.open { transform: translateX(0); }
  body.phase-page #sidebar-overlay.on { display: block; }
  body.phase-page #main {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    flex-basis: 100%;
  }
  body.phase-page .doc-footer {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
  body.phase-page .hamburger { display: flex; }
  body.phase-page .tb-brand { width: auto; }
  body.phase-page .tb-right .tb-chip:first-child { display: inline-flex; }
}
@media (max-width: 680px) {
  .tb-right .tb-chip:first-child { display: none; }
  body.phase-page .pg h1,
  body.phase-page .lead { max-width: 100%; overflow-wrap: anywhere; }
  .preview-ribbon {
    font-size: .68rem;
    line-height: 1.45;
    letter-spacing: .035em;
  }
  .phase-hero-meta .pb-date {
    width: 100%;
    overflow-wrap: anywhere;
  }
  .phase-pager { grid-template-columns: 1fr; }
  .phase-pager .next { text-align: left; }
  .evidence-table th { width: 52%; }
  .archive-tools { grid-template-columns: 1fr; }
  .archive-row { grid-template-columns: minmax(78px, auto) minmax(0, 1fr); }
  .archive-row .tag-s { grid-column: 2; justify-self: start; }
}

/* Phase figures stay readable in-page and open in an accessible lightbox. */
.figure-grid > figure,
.figure-card,
.featured-figure {
  min-width: 0;
  overflow: hidden;
}
.figure-grid > figure {
  margin: 0;
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface, #111116);
}
.figure-grid > figure img,
.figure-card img,
.featured-figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: min(58vh, 560px);
  margin: 0 auto;
  object-fit: contain;
  background: #f3f3f1;
  cursor: zoom-in;
}
.figure-grid > figure img:focus-visible,
.figure-card img:focus-visible,
.featured-figure img:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.figure-grid > figure figcaption {
  margin-top: .7rem;
  color: var(--ink3);
  font-size: .82rem;
  line-height: 1.5;
}
body.figure-lightbox-open { overflow: hidden; }
.figure-lightbox[hidden] { display: none; }
.figure-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 3.75rem 1rem 1rem;
  background: rgba(4, 5, 8, .94);
}
.figure-lightbox-stage {
  display: flex;
  width: 100%;
  height: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .75rem;
}
.figure-lightbox-image {
  display: block;
  width: auto;
  max-width: min(96vw, 1800px);
  height: auto;
  max-height: calc(100vh - 7rem);
  object-fit: contain;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .55);
}
.figure-lightbox-caption {
  max-width: min(92vw, 1000px);
  margin: 0;
  color: #d7d7dc;
  font-size: .86rem;
  line-height: 1.45;
  text-align: center;
}
.figure-lightbox-caption:empty { display: none; }
.figure-lightbox-close {
  position: absolute;
  top: .8rem;
  right: .9rem;
  z-index: 1;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: #16171c;
  color: #fff;
  font: 400 2rem/1 sans-serif;
  cursor: pointer;
}
.figure-lightbox-close:hover { border-color: var(--accent); color: var(--accent); }
.figure-lightbox-close:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
@media (max-width: 680px) {
  .figure-grid { grid-template-columns: 1fr; }
  .figure-grid > figure img,
  .figure-card img,
  .featured-figure img { max-height: 52vh; }
  .figure-lightbox { padding: 3.5rem .5rem .75rem; }
  .figure-lightbox-image {
    max-width: calc(100vw - 1rem);
    max-height: calc(100vh - 6rem);
  }
}

/* Bilingual language switcher */
.language-switcher{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;white-space:nowrap}.language-switcher a{color:var(--muted,#aeb4bf);text-decoration:none}.language-switcher a[aria-current="page"]{color:var(--accent,#20d6b0);font-weight:700}.language-switcher a:focus-visible{outline:2px solid var(--accent,#20d6b0);outline-offset:3px;border-radius:2px}@media(max-width:760px){.language-switcher{font-size:.72rem;gap:.3rem}.tb-right .tb-chip{display:none}.key-result-item dt,.key-result-item dd{overflow-wrap:anywhere}}
/* CHAT_ELENA_START */
.tb-chat-link{display:inline-flex;align-items:center;gap:.42rem;flex-shrink:0;padding:.28rem .62rem;border:1px solid rgba(238,190,52,.72);border-radius:999px;background:rgba(238,190,52,.08);color:#f1ca55;font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.01em;text-decoration:none;white-space:nowrap;transition:background .18s,border-color .18s,color .18s}
.tb-chat-link:hover{background:rgba(238,190,52,.16);border-color:#f1ca55;color:#ffe28a}
.tb-chat-link:focus-visible{outline:3px solid rgba(241,202,85,.55);outline-offset:3px}
.tb-chat-link[aria-current="page"]{background:rgba(238,190,52,.18);border-color:#f1ca55}
.tb-chat-mark{display:block;width:1rem;height:1rem;flex:0 0 auto;color:#f1ca55;filter:drop-shadow(0 0 5px rgba(241,202,85,.2))}.tb-chat-mark svg{display:block;width:100%;height:100%;overflow:visible}.tb-chat-mark .chat-seal{fill:currentColor}.tb-chat-mark .chat-tick{fill:none;stroke:#332600;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.chat-coming-soon #main{min-height:calc(100vh - var(--top))}
.chat-coming-soon .pg{min-height:calc(100vh - var(--top));padding:0}
.chat-preview-shell{display:flex;width:100%;min-height:calc(100vh - var(--top));flex-direction:column;background:var(--bg)}
.chat-preview-status{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.5rem;border-bottom:1px solid var(--brd);background:var(--bg2);color:var(--ink3);font-size:.8rem}
.chat-preview-status strong{color:var(--ink)}
.chat-status-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px rgba(245,164,42,.35)}
.chat-preview-thread{display:flex;width:100%;max-width:760px;margin:auto;padding:3rem 1.5rem;flex-direction:column;gap:1.6rem}
.chat-preview-intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start}
.chat-preview-intro h1{margin:.25rem 0 .75rem;font-size:clamp(2rem,5vw,3.6rem)}
.chat-preview-intro p{max-width:650px;margin:.45rem 0;color:var(--ink2);font-size:1rem;line-height:1.7}
.chat-preview-avatar{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--ac-d),var(--ac))}
.chat-preview-avatar .tb-logo{width:28px;height:28px;background:transparent}
.chat-preview-message{align-self:flex-start;max-width:620px;padding:1rem 1.1rem;border:1px solid var(--brd);border-radius:4px 14px 14px 14px;background:var(--bg2)}
.chat-preview-message>span{color:var(--ac);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.chat-preview-message p{margin:.5rem 0 0;color:var(--ink2);line-height:1.65}
.chat-preview-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;width:calc(100% - 3rem);max-width:760px;margin:0 auto 1.4rem;padding:.65rem;border:1px solid var(--brd);border-radius:12px;background:var(--bg2)}
.chat-preview-composer textarea{min-width:0;resize:none;border:0;outline:0;background:transparent;color:var(--ink2);font:inherit;padding:.65rem}
.chat-preview-composer button{align-self:stretch;padding:0 1.1rem;border:1px solid rgba(245,164,42,.25);border-radius:8px;background:rgba(245,164,42,.08);color:var(--amber);font-weight:700}
.chat-preview-composer :disabled{cursor:not-allowed;opacity:.72}
.aws-activate-callout{display:flex;align-items:flex-start;gap:.8rem;max-width:720px;margin:1.2rem 0 0;padding:.85rem 1rem;border:1px solid rgba(238,190,52,.42);border-radius:10px;background:rgba(238,190,52,.06)}
.aws-activate-check{display:block;width:1.45rem;height:1.45rem;flex:0 0 auto;color:#f1ca55;filter:drop-shadow(0 0 7px rgba(241,202,85,.22))}
.aws-activate-check svg{display:block;width:100%;height:100%;overflow:visible}.aws-activate-check .aws-seal{fill:currentColor}.aws-activate-check .aws-tick{fill:none;stroke:#332600;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.aws-activate-callout p{margin:0;color:var(--ink2);font-size:.86rem;line-height:1.5}.aws-activate-callout strong,.aws-activate-callout span{display:block}.aws-activate-callout strong{margin-bottom:.18rem;color:#f1ca55}
.chat-coming-soon{height:100dvh;overflow:hidden}.chat-coming-soon .shell{height:100dvh}.chat-coming-soon #chat-main{position:relative;display:flex;min-width:0;height:calc(100dvh - var(--top));margin-left:var(--sb);flex:1;flex-direction:column;overflow:hidden;background:var(--bg)}
#brain-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:#0e0e12;opacity:.22;pointer-events:none}
#chat-status,#thread,#input-bar{position:relative;z-index:1}
#chat-status{display:flex;align-items:center;gap:.65rem;min-height:48px;padding:.65rem 1.8rem;border-bottom:1px solid var(--brd);background:rgba(19,19,26,.72);color:var(--ink3);font-size:.78rem;white-space:nowrap;overflow:hidden}
#chat-status strong{color:var(--ink2)}#chat-status .status-dot{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--amber)}#chat-status .status-note{margin-left:auto;padding:.25rem .65rem;border:1px solid var(--brd);border-radius:5px;color:var(--ink3)}
#thread{display:flex;min-height:0;flex:1;overflow:auto}.thread-inner{display:flex;width:100%;min-height:100%;align-items:center;justify-content:center;padding:2rem 230px 2rem 2rem}#empty-state{display:flex;width:min(560px,100%);align-items:center;flex-direction:column;text-align:center}#empty-state .empty-logo{display:grid;width:74px;height:74px;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--ac-d),var(--ac));box-shadow:0 0 32px rgba(33,201,159,.32)}#empty-state .empty-logo .tb-logo{width:42px;height:42px;background:transparent}#empty-state h1{margin:1.15rem 0 .6rem;font-size:1.45rem}#empty-state>p{max-width:510px;margin:.18rem 0;color:var(--ink2);line-height:1.55}
.offline-banner{display:flex;max-width:500px;margin:1rem 0 1.2rem;padding:.8rem 1rem;align-items:center;gap:.7rem;border:1px solid rgba(245,164,42,.3);border-radius:10px;background:rgba(245,164,42,.07);color:var(--ink2);font-size:.84rem;line-height:1.5;text-align:left}.offline-banner small{display:block;margin-top:.18rem;color:var(--ink3);font-size:.76rem}.offline-icon{color:var(--amber)}.empty-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.empty-chips button{padding:.38rem .75rem;border:1px solid var(--brd);border-radius:999px;background:rgba(255,255,255,.025);color:var(--ink3);font:inherit;font-size:.76rem}.empty-chips button:disabled{cursor:not-allowed;opacity:.72}
#brain-panel{position:absolute;top:calc(48px + 1.5rem);right:1.5rem;bottom:auto;z-index:3;width:210px;max-height:calc(100% - 48px - 3rem);overflow:auto;padding:.9rem 1rem;border:1px solid rgba(33,201,159,.25);border-radius:14px;background:rgba(14,14,18,.88);backdrop-filter:blur(18px)}.bp-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;color:var(--ac);font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bp-dot{width:7px;height:7px;border-radius:50%;background:var(--ac)}.bp-rows{display:flex;flex-direction:column;gap:.52rem}.bp-row{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem}.bp-label{color:var(--ink3)}.bp-val{color:var(--ink2);font-weight:700}.bp-val.hi{color:var(--ac)}.bp-bar-wrap{height:3px;margin-top:.8rem;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.06)}.bp-bar-fill{width:0;height:100%;background:var(--ac)}.bp-sparkline{height:28px;margin-top:.55rem;border-bottom:1px solid rgba(33,201,159,.13)}
#brain-panel{top:72px}
#empty-state .empty-logo .tb-logo img{width:42px;height:42px;border-radius:10px}
#input-bar{width:100%;padding:.55rem 1.5rem .8rem;background:linear-gradient(180deg,transparent,var(--bg) 22%)}.input-shell{width:min(680px,100%);margin:auto}.reasoning-toolbar{display:flex;margin:0 0 .45rem;align-items:center;justify-content:space-between;color:var(--ink3);font-size:.68rem;text-transform:uppercase}.reasoning-segment{display:flex;padding:.2rem;border:1px solid var(--brd);border-radius:999px;background:var(--bg2)}.reasoning-segment button{padding:.25rem .72rem;border:0;border-radius:999px;background:transparent;color:var(--ink3);font:inherit}.reasoning-segment .selected{background:var(--ac);color:#062b22;font-weight:800}.input-row{display:grid;padding:.5rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;border:1px solid var(--brd);border-radius:12px;background:var(--bg3)}.input-row textarea{min-width:0;resize:none;border:0;outline:0;background:transparent;color:var(--ink2);font:inherit;padding:.55rem}.input-row>button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--brd);border-radius:8px;background:rgba(255,255,255,.035);color:var(--ink3)}.input-row button svg{width:16px;height:16px}.input-row .send-btn{background:rgba(33,201,159,.18);color:var(--ac)}.input-row :disabled,.reasoning-segment :disabled{cursor:not-allowed;opacity:.7}.input-footer{margin-top:.42rem;color:var(--ink3);font-size:.67rem;text-align:center}.input-footer a{text-decoration:underline;text-underline-offset:2px}.attach-preview,.chat-context-preview{display:none}.chat-static-row{cursor:default}.chat-static-row .sn-pill{max-width:110px}
@media(max-width:680px){.tb-chat-label{display:none}.tb-chat-link{padding:.32rem}.chat-preview-thread{padding:2rem 1rem}.chat-preview-intro{grid-template-columns:1fr}.chat-preview-composer{width:calc(100% - 2rem);grid-template-columns:1fr}.chat-preview-composer button{min-height:42px}}
@media(max-width:1180px){.chat-coming-soon #chat-main{width:100%;height:calc(100dvh - var(--top));margin-left:0}.chat-coming-soon #brain-panel{display:none}.thread-inner{padding-inline:2rem}}
@media(max-width:760px){.chat-coming-soon .tb-mid{display:none}.chat-coming-soon #chat-status{padding-inline:.8rem;overflow-x:auto}.thread-inner{padding:1rem}.chat-coming-soon #brain-panel{display:none}.chat-coming-soon #empty-state h1{font-size:1.25rem}.chat-coming-soon #input-bar{padding:.55rem .7rem calc(.7rem + env(safe-area-inset-bottom))}.reasoning-toolbar{align-items:flex-start;flex-direction:column;gap:.35rem}.reasoning-segment{width:100%}.reasoning-segment button{flex:1;text-align:center}.input-footer{line-height:1.45}.aws-activate-callout{padding:.75rem .8rem}}
/* CHAT_ELENA_END */
