/* sion.css — Sîon's OWN chrome vocabulary, loaded last. It ADDS and redefines nothing above it.
 *
 * Everything the suite already writes down lives in the sheets before this one:
 *   base.css       the Aurora tokens
 *   app-shell.css  the top line   — byte-identical to Surety/public/css/app-shell.css
 *   scope.css      the identity   — byte-identical to Surety/public/css/scope.css
 *
 * What is here is only what Sîon carries that the siblings do not:
 *   · the INTERNAL exposure badge (DR-ATH-0053 R2) beside the wordmark,
 *   · the chip vocabulary the header reads its version and its handshake state through
 *     (the names are Sentia's — .chip / .chip-muted / .chip-ok / .chip-warning / .chip-error —
 *     so a future consolidation is a move, not a rewrite),
 *   · the `#session-status` sizing Sentia keeps in its own app-shell fork; carried here instead
 *     so the shared sheet above stays byte-identical and a `diff` against Surety proves it.
 */

/* The exposure badge. Sîon rides the estate's OPERATIONAL read-out and never appears in the
   advertised vector (DR-ATH-0053 R2) — the header says so on every page rather than relying on
   anybody remembering it. */
.app-exposure {
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-muted);
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    padding: 2px 9px;
    line-height: 1.5;
    white-space: nowrap;
}

/* The identity chip's host span (scope.js renders into it). */
.session-status {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    color: var(--text-dim);
}

/* Honest-by-default: the handshake states the identity chip cannot express. Empty means the
   header is the suite's exactly, so an empty node must not occupy a gap. */
#session-notice:empty { display: none; }

/* Chips — the header's version read-out and the notice share one shape. */
.chip {
    display: inline-flex;
    align-items: center;
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid var(--border-strong);
    background: rgba(255, 255, 255, 0.03);
    white-space: nowrap;
    line-height: 1.5;
    font-family: 'Inter', system-ui, sans-serif;
}
.chip-muted   { color: var(--text-dim); }
.chip-ok      { color: var(--mint);    border-color: rgba(0, 255, 180, 0.28);  background: rgba(0, 255, 180, 0.06); }
.chip-warning { color: var(--warning); border-color: rgba(255, 170, 48, 0.3);  background: rgba(255, 170, 48, 0.07); }
.chip-error   { color: var(--error);   border-color: rgba(255, 68, 102, 0.32); background: rgba(255, 68, 102, 0.07); }

/* The version chip reads THIS server's own /api/version and nothing else, so it stays legible as
   a build fact rather than shouting like a status light. */
#sion-version { font-variant-numeric: tabular-nums; letter-spacing: 0.04em; }

/* Sign in — the anonymous-state door. Same pill as Logout (they are never both shown), so the
   header's right cluster keeps one shape whichever state it is in. */
#signin-btn { font-family: 'Inter', system-ui, sans-serif; }

/* The chrome sits above every page's own committed layout; the mockups paint their own
   backgrounds edge-to-edge, so the bar needs its own ground to read against. */
#header.app-header {
    position: relative;
    z-index: 5;
    background: var(--deep);
}
