@font-face {
    font-family: "Saira Nexus";
    src: url("/assets/fonts/Saira-SemiCondensed-Regular.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

/* Team competition workspace */
.competition-command { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.competition-command h2 { margin: 0; }
.competition-command p { margin: .35rem 0; color: var(--text-muted); }
.competition-mode-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.competition-mode-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid var(--border); background: var(--surface); }
.competition-mode-card.is-active { border-left: 3px solid var(--success); }
.competition-mode-card__mark { display: none; }
.competition-mode-card strong, .competition-mode-card small { display: block; }
.competition-mode-card small { margin-top: .25rem; color: var(--text-muted); }
.competition-main { display: grid; gap: 1.25rem; min-width: 0; }
.competition-members { display: grid; margin: .5rem 0; }
.competition-member { min-width: 0; padding: .65rem 0; border-bottom: 1px solid var(--border); }
.competition-member.is-unavailable { opacity: .75; }
.competition-member__identity { display: flex; gap: .7rem; align-items: center; min-width: 0; }
.competition-member__identity > span { min-width: 0; }
.competition-member__identity strong, .competition-member__identity small { display: block; overflow-wrap: anywhere; }
.competition-member__identity small { color: var(--text-muted); font-size: .8rem; }
.competition-member__avatar { display: grid; place-items: center; flex: 0 0 auto; width: 2.5rem; height: 2.5rem; background: var(--surface); color: var(--accent); font-family: var(--font-display); font-size: .8rem; }
.capability-toggle { min-height: 2.75rem; padding: .55rem .75rem; border: 1px solid var(--border); background: transparent; color: var(--text-muted); cursor: pointer; }
.capability-toggle.is-active { border-color: var(--success); background: color-mix(in srgb, var(--success) 12%, transparent); color: var(--text); }
.competition-events, .competition-rosters, .competition-notes, .competition-games, .competition-playbook { display: grid; gap: 1rem; margin-top: 1rem; }
.competition-event, .competition-rosters > article, .competition-notes > article, .competition-games > article, .competition-playbook > article { min-width: 0; padding: 1rem 0; border-block: 1px solid var(--border); }
.competition-event > header, .competition-notes > article > header, .competition-playbook > article > header { display: flex; justify-content: space-between; gap: .75rem; align-items: start; flex-wrap: wrap; }
.competition-event h3, .competition-rosters h3, .competition-notes h3, .competition-games h3, .competition-playbook h3 { margin: .15rem 0; overflow-wrap: anywhere; }
.competition-event p, .competition-rosters p, .competition-notes p, .competition-games p { margin: .3rem 0; }
.competition-lineup { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0; }
.lineup-chip { display: grid; gap: .1rem; padding: .4rem .6rem; background: var(--surface); border-left: 2px solid var(--border); }
.lineup-chip small { color: var(--text-muted); font-size: .75rem; }
.lineup-chip--confirmed { border-color: var(--success); }
.lineup-chip--declined { opacity: .7; text-decoration: line-through; }
.competition-event__actions, .competition-roster__actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.competition-event__manage { margin-top: .75rem; }
.competition-event__manage > summary { color: var(--accent); min-height: 2.75rem; padding-block: .6rem; cursor: pointer; }
.competition-rosters > article, .competition-games > article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; }
.competition-review-note { margin-top: 1rem; }
.competition-matrix-table { display: grid; min-width: 0; margin-top: 1rem; }
.competition-matrix-table__head, .competition-matrix-table > article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.35fr) minmax(3rem, .4fr) minmax(5rem, .6fr); gap: .75rem; align-items: start; padding: .8rem 0; }
.competition-matrix-table__head { border-bottom: 1px solid var(--border); color: var(--text-muted); font-size: .8rem; }
.competition-matrix-table > article { border-bottom: 1px solid var(--border); }
.competition-matrix-table [role=cell] { min-width: 0; overflow-wrap: anywhere; }
.competition-matrix-table strong, .competition-matrix-table small { display: block; }
.competition-matrix-table small { margin-top: .25rem; color: var(--text-muted); font-size: .8rem; }
.matrix-score { color: var(--accent); font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; }
.competition-matrix-rationale { grid-column: 1 / -1; min-width: 0; color: var(--text-muted); }
.competition-notes footer, .competition-playbook footer { margin-top: .7rem; color: var(--text-muted); font-size: .8rem; }
.competition-game-score { display: grid; justify-items: end; }
.competition-game-score strong { font-family: var(--font-display); font-size: 1.5rem; }
.competition-game-score span { color: var(--accent); font-weight: 700; }
.competition-game-lessons { grid-column: 1 / -1; padding-top: .75rem; }

@media (max-width: 720px) {
    .competition-mode-grid { grid-template-columns: 1fr; }
    .competition-mode-card { gap: .75rem; padding: .75rem; }
    .competition-rosters > article, .competition-games > article { grid-template-columns: 1fr; }
    .competition-game-score { justify-items: start; }
    .competition-matrix-table__head { display: none; }
    .competition-matrix-table > article { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 1rem; }
    .competition-matrix-table > article > [role=cell]:nth-child(3) { grid-column: 1 / -1; padding-left: .75rem; border-left: 2px solid var(--accent); }
    .competition-matrix-table > article > [role=cell]:nth-child(4)::before { content: "Layout "; color: var(--text-muted); }
    .competition-event__actions .button, .competition-roster__actions .button { min-height: 2.75rem; }
}

/* Club play and operations */
.club-play-main { display: grid; gap: 1rem; min-width: 0; }
.club-slot-list { display: grid; gap: .75rem; }
.club-slot { min-width: 0; padding: 1rem 0; border-top: 1px solid var(--line); }
.club-slot.is-closed { background: rgba(70, 35, 34, .12); border-color: rgba(190, 96, 82, .32); }
.club-slot__header, .club-challenge__summary, .club-slot__actions, .club-challenge__actions, .club-inline-form__actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; flex-wrap: wrap; }
.club-slot__header time { display: grid; gap: .15rem; }
.club-slot__header time strong { text-transform: capitalize; }
.club-slot__header time span, .club-challenge small { color: var(--text-muted); }
.club-slot__closure { margin-top: .75rem; padding: .75rem; border-left: 2px solid var(--danger); background: rgba(167, 65, 55, .08); }
.club-slot__closure p { margin: .25rem 0 0; }
.club-challenge-list { display: grid; gap: .6rem; margin: .8rem 0; }
.club-challenge { min-width: 0; padding: .75rem 1rem; border-left: 2px solid var(--nexus-steel); background: rgba(11, 21, 28, .64); }
.club-challenge__actions { justify-content: flex-start; }
.club-challenge__summary > div:first-child { display: grid; grid-template-columns: auto 1fr; gap: .12rem .55rem; align-items: center; }
.club-challenge__summary small { grid-column: 2; }
.club-game-mark { grid-row: 1 / span 2; display: grid; place-items: center; width: 2rem; height: 2rem; color: var(--amber); border: 1px solid rgba(231, 173, 62, .4); }
.club-player-line { display: flex; flex-wrap: wrap; gap: .35rem; margin: .65rem 0; }
.club-player-chip { display: inline-flex; align-items: center; gap: .35rem; min-height: 1.85rem; padding: .2rem .4rem; font-size: .82rem; color: var(--text); }
.club-player-chip small { color: var(--amber); }
.club-player-chip.is-proposer { border-color: rgba(231, 173, 62, .38); }
.club-player-chip.is-empty { color: var(--text-muted); border-style: dashed; }
.club-slot__actions { justify-content: flex-start; margin-top: .75rem; }
.club-inline-form, .club-compact-form { display: grid; min-width: 0; gap: .75rem; margin: .5rem 0 1rem; padding: .75rem 0; }
.club-inline-form h3, .club-inline-form p { margin: 0; }
.club-inline-form--danger { border-color: rgba(190, 96, 82, .45); background: rgba(190, 96, 82, .05); }
.club-inline-form__actions { justify-content: flex-end; }
.club-announcement-list, .club-decision-list, .club-task-list { display: grid; gap: .65rem; }
.club-announcement, .club-decision { padding: .9rem; border: 1px solid var(--line); background: rgba(3, 8, 12, .34); }
.club-announcement header { display: flex; justify-content: space-between; gap: .75rem; }
.club-announcement h3, .club-decision h3 { margin: .15rem 0 .45rem; }
.club-announcement time, .club-announcement footer, .club-decision footer { color: var(--text-muted); font-size: .78rem; }
.club-announcement footer, .club-decision footer { margin-top: .65rem; }
.club-announcement--urgent { border-left: 3px solid var(--danger); }
.club-announcement--important { border-left: 3px solid var(--amber); }
.club-decision-list { margin-top: 1rem; }
.club-decision.is-superseded { opacity: .68; }
.club-management-disclosure { margin-top: .8rem; border-top: 1px solid var(--line); }
.club-management-disclosure > summary { min-height: 2.8rem; display: flex; align-items: center; gap: .45rem; color: var(--cyan); cursor: pointer; list-style: none; }
.club-management-disclosure > summary::-webkit-details-marker { display: none; }
.club-task { display: flex; justify-content: space-between; gap: .75rem; padding: .75rem; border: 1px solid var(--line); }
.club-task > div:first-child { display: grid; gap: .25rem; }
.club-task > div:last-child { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.club-task small { color: var(--text-muted); }
.club-task--completed, .club-task--cancelled { opacity: .58; }
.club-resource-list, .club-dues-list { display: grid; gap: .45rem; margin: .65rem 0 0; padding: 0; list-style: none; }
.club-resource-list li, .club-dues-list li { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .6rem 0; border-bottom: 1px solid var(--line); }
.club-resource-list li > div, .club-dues-list li > div { display: grid; gap: .1rem; min-width: 0; }
.club-resource-list small, .club-dues-list small { color: var(--text-muted); }

@media (max-width: 640px) {
    .club-slot, .club-challenge { padding: .75rem; }
    .club-slot__header, .club-challenge__summary { align-items: flex-start; }
    .club-slot__actions .button, .club-challenge__actions .button, .club-inline-form__actions .button { flex: 1 1 9rem; min-height: 2.75rem; }
    .club-task { display: grid; }
    .club-task > div:last-child { justify-content: flex-end; }
}

@font-face {
    font-family: "Saira Nexus";
    src: url("/assets/fonts/Saira-SemiCondensed-SemiBold.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 600;
}

@font-face {
    font-family: "Oxanium Nexus";
    src: url("/assets/fonts/Oxanium-Medium.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: "Oxanium Nexus";
    src: url("/assets/fonts/Oxanium-SemiBold.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 600;
}

:root {
    color-scheme: dark;
    --nexus-black: #05080b;
    --nexus-black-soft: #090e12;
    --nexus-panel: #161d23;
    --nexus-panel-strong: #202a32;
    --nexus-panel-raised: #26313a;
    --nexus-steel: #82929e;
    --nexus-steel-dark: #56606d;
    --nexus-cyan: #66bce9;
    --nexus-cyan-bright: #a7dfff;
    --nexus-cyan-deep: #203e52;
    --nexus-gold: #c3a25e;
    --nexus-gold-bright: #e3c76f;
    --nexus-gold-dark: #826b43;
    --nexus-text: #f5f7f8;
    --nexus-text-warm: #f7f4e9;
    --nexus-muted: #aab5be;
    --nexus-muted-soft: #78858f;
    --nexus-success: #76c7a0;
    --nexus-warning: #d8a454;
    --nexus-danger: #e47979;
    --nexus-shadow: rgba(0, 0, 0, .58);
    --line: rgba(130, 146, 158, .28);
    --border: var(--line);
    --surface: var(--nexus-panel);
    --surface-raised: var(--nexus-panel-strong);
    --text: var(--nexus-text);
    --text-muted: var(--nexus-muted);
    --accent: var(--nexus-cyan);
    --success: var(--nexus-success);
    --warning: var(--nexus-warning);
    --font-display: "Saira Nexus", "Segoe UI", sans-serif;
    --shadow-lg: 0 1rem 3rem var(--nexus-shadow);
    --content-max: 1480px;
    --rail-width: 268px;
    --safe-bottom: env(safe-area-inset-bottom, 0px);
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    min-height: 100%;
    background: var(--nexus-black);
    font-size: 16px;
    overflow-x: clip;
}

body {
    min-height: 100vh;
    margin: 0;
    overflow-x: clip;
    background:
        radial-gradient(circle at 82% 0%, rgba(56, 102, 128, .12), transparent 34rem),
        var(--nexus-black);
    color: var(--nexus-text);
    font-family: "Saira Nexus", "Segoe UI", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.has-mobile-sheet {
    overflow: hidden;
}

button, input, textarea, select {
    color: inherit;
    font: inherit;
}

button, a {
    -webkit-tap-highlight-color: transparent;
}

button {
    border: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

p, h1, h2, h3 {
    margin-top: 0;
}

h1, h2, h3, .brand-lockup__name {
    font-family: "Oxanium Nexus", "Segoe UI", sans-serif;
    letter-spacing: -.025em;
}

h1 {
    margin-bottom: .7rem;
    color: var(--nexus-text-warm);
    font-size: clamp(2rem, 4vw, 3.75rem);
    font-weight: 600;
    line-height: 1.06;
}

h2 {
    margin-bottom: .45rem;
    color: var(--nexus-text-warm);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 600;
    line-height: 1.16;
}

h3 {
    color: var(--nexus-text-warm);
    font-size: 1.1rem;
    font-weight: 600;
}

:focus-visible {
    outline: 2px solid var(--nexus-cyan-bright);
    outline-offset: 3px;
}

/* Navigation focuses the page heading for screen readers, without framing the title. */
:is(h1, h2, h3, h4, h5, h6)[tabindex="-1"]:focus {
    outline: none;
}

::selection {
    background: rgba(102, 188, 233, .32);
    color: white;
}

[hidden] {
    display: none !important;
}

.eyebrow, .kicker {
    margin: 0 0 .6rem;
    color: var(--nexus-cyan-bright);
    font-family: "Oxanium Nexus", "Segoe UI", sans-serif;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .16em;
    line-height: 1.25;
    text-transform: uppercase;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: .55rem;
}

.eyebrow > span {
    width: 1.8rem;
    height: 1px;
    background: linear-gradient(90deg, var(--nexus-cyan), transparent);
}

.kicker {
    color: var(--nexus-gold);
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    min-height: 48px;
    color: var(--nexus-text-warm);
}

.brand-lockup__mark {
    display: block;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    filter: drop-shadow(0 0 12px rgba(195, 162, 94, .16));
    object-fit: contain;
}

.brand-lockup__name {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.brand-lockup__caption {
    display: block;
    margin-top: .05rem;
    color: var(--nexus-muted-soft);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* Private access surfaces */

.access-shell {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: 100vh;
    grid-template-rows: auto 1fr auto;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 18%, rgba(49, 102, 129, .15), transparent 30rem),
        linear-gradient(140deg, #070b0e 0%, #05080b 52%, #0b0f12 100%);
}

.access-shell__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: .13;
    background-image:
        linear-gradient(rgba(130, 146, 158, .2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(130, 146, 158, .2) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, black, transparent 88%);
}

.access-shell__glow {
    position: absolute;
    z-index: -2;
    width: 40rem;
    height: 40rem;
    border-radius: 50%;
    opacity: .14;
    filter: blur(110px);
    pointer-events: none;
}

.access-shell__glow--cyan {
    top: -25rem;
    right: -8rem;
    background: var(--nexus-cyan);
}

.access-shell__glow--gold {
    bottom: -31rem;
    left: 22%;
    background: var(--nexus-gold);
}

.access-header {
    display: flex;
    z-index: 2;
    align-items: center;
    justify-content: space-between;
    width: min(100% - 4rem, 1440px);
    min-height: 92px;
    margin-inline: auto;
    border-bottom: 1px solid rgba(130, 146, 158, .2);
}

.access-header__status {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--nexus-muted);
    font-size: .77rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.access-header__status i,
.private-foundation__signal, .member-status i {
    display: inline-block;
    flex: 0 0 auto;
    vertical-align: middle;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #95e0b7;
    box-shadow: 0 0 0 3px rgba(149, 224, 183, .1), 0 0 9px rgba(149, 224, 183, .24);
}

.access-main {
    display: grid;
    width: min(100% - 4rem, 1440px);
    margin-inline: auto;
    padding-block: clamp(2.5rem, 6vh, 5.6rem);
}

.access-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 60px;
    padding-inline: 1.5rem;
    border-top: 1px solid rgba(130, 146, 158, .13);
    color: var(--nexus-muted-soft);
    font-size: .76rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.auth-journey {
    align-self: center;
    display: grid;
    align-items: center;
    gap: clamp(3rem, 8vw, 8rem);
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
}

.auth-journey.auth-journey--minimal {
    width: 100%;
    max-width: 520px;
    justify-self: center;
    gap: 0;
    grid-template-columns: minmax(0, 1fr);
}

.auth-journey--minimal .access-card {
    justify-self: stretch;
}

.access-card, .panel {
    position: relative;
    border: 1px solid rgba(130, 146, 158, .56);
    border-radius: 5px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .025), transparent 35%),
        rgba(22, 29, 35, .95);
    box-shadow: 0 18px 60px var(--nexus-shadow), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.access-card::before, .panel::before {
    position: absolute;
    content: "";
    left: 18px;
    right: 18px;
    top: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--nexus-gold), transparent);
    opacity: .78;
}

.access-card {
    width: 100%;
    max-width: 520px;
    justify-self: end;
    padding: clamp(1.55rem, 4vw, 2.5rem);
}

.access-card__head, .panel__head {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.8rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(130, 146, 158, .2);
}

.access-card__head h1, .access-card__head h2, .panel__head h2 { margin: 0; }

.access-card__head h1 {
    font-size: clamp(1.65rem, 4vw, 2.15rem);
}

.access-card__index, .panel__step {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--nexus-gold-dark);
    background: rgba(5, 8, 11, .58);
    color: var(--nexus-gold-bright);
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .7rem;
}

.stack-form {
    display: grid;
    gap: 1.15rem;
}

.stack-form--compact { gap: .9rem; }

.field {
    display: grid;
    gap: .45rem;
}

.field__label {
    color: #dce5eb;
    font-size: .83rem;
    font-weight: 600;
    letter-spacing: .025em;
}

.field__control {
    position: relative;
    display: flex;
    min-width: 0;
}

.field__control input, .copy-field input {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: .72rem .85rem;
    border: 1px solid #63737e;
    border-radius: 3px;
    outline: 0;
    background: rgba(5, 8, 11, .82);
    color: var(--nexus-text);
    caret-color: var(--nexus-cyan);
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.field__control input::placeholder { color: #62717c; }

.field__control input:hover { border-color: #8196a4; }

.field__control input:focus {
    border-color: var(--nexus-cyan);
    background: #090f13;
    box-shadow: 0 0 0 3px rgba(102, 188, 233, .12);
}

.field__control--secret input { padding-right: 3.25rem; }

.secret-toggle {
    position: absolute;
    right: 4px;
    top: 4px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 3px;
    background: transparent;
    color: var(--nexus-muted-soft);
    cursor: pointer;
}

.secret-toggle:hover, .secret-toggle.is-active {
    background: rgba(102, 188, 233, .08);
    color: var(--nexus-cyan-bright);
}

.field-help, .field__error {
    margin: 0;
    font-size: .75rem;
    line-height: 1.4;
}

.field-help { color: var(--nexus-muted-soft); }
.field__error { color: #f0a2a2; }

.validation-summary {
    margin: 0;
    padding: .8rem 1rem;
    border-left: 2px solid var(--nexus-danger);
    background: rgba(153, 47, 47, .11);
    color: #f5b2b2;
    font-size: .82rem;
}

.validation-summary ul { margin: 0; padding-left: 1rem; }

.check-field {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 40px;
    color: var(--nexus-muted);
    font-size: .84rem;
    cursor: pointer;
}

.check-field input {
    width: 18px;
    height: 18px;
    accent-color: var(--nexus-cyan-deep);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    min-height: 46px;
    padding: .68rem 1.1rem;
    border: 1px solid var(--nexus-steel-dark);
    border-radius: 3px;
    background: var(--nexus-panel-raised);
    color: var(--nexus-text);
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .015em;
    cursor: pointer;
    transition: transform 120ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.button:hover {
    border-color: var(--nexus-steel);
    background: #354653;
}

.button:active { transform: translateY(1px); }

.button--primary {
    border-color: var(--nexus-gold);
    background: linear-gradient(135deg, #203e52, #172d3b);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25), inset 0 1px rgba(255, 255, 255, .05);
}

.button--primary:hover {
    border-color: var(--nexus-gold-bright);
    background: linear-gradient(135deg, #2d5873, #1d3e52);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .34), 0 0 18px rgba(102, 188, 233, .08);
}

.button--quiet { background: rgba(38, 49, 58, .52); }
.button--danger-quiet { border-color: rgba(228, 121, 121, .45); background: transparent; color: #efaaaa; }
.button--danger-quiet:hover { border-color: var(--nexus-danger); background: rgba(158, 46, 46, .12); }
.button--full { width: 100%; }
.button__arrow { margin-left: auto; color: var(--nexus-gold-bright); font-size: 1.05rem; }

.form-alert {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: 1.2rem;
    padding: .82rem .9rem;
    border: 1px solid rgba(216, 164, 84, .38);
    border-radius: 3px;
    background: rgba(118, 75, 20, .14);
    color: #e9c88f;
    font-size: .82rem;
}

.form-alert > span {
    display: grid;
    width: 21px;
    height: 21px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--nexus-warning);
    border-radius: 50%;
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .68rem;
}

.form-alert p { margin: 0; }
.form-alert--compact { margin-bottom: .9rem; }

.account-note {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(130, 146, 158, .18);
    color: var(--nexus-muted);
    font-size: .8rem;
}

.account-note p { margin: 0; }
.account-note strong { color: #dce5eb; }
.account-note__icon { color: var(--nexus-gold); font-size: 1.2rem; }

.card-copy { color: var(--nexus-muted); }

.loading-card, .workspace-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: 190px;
    color: var(--nexus-muted);
}

.loading-pulse {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--nexus-cyan);
    box-shadow: 0 0 0 0 rgba(102, 188, 233, .4);
    animation: loading-pulse 1.6s infinite;
}

@keyframes loading-pulse {
    60%, 100% { box-shadow: 0 0 0 13px rgba(102, 188, 233, 0); }
}

.message-page {
    display: grid;
    min-height: 55vh;
    place-items: center;
}

.access-card--message { justify-self: center; text-align: center; }
.access-card--message p:not(.kicker) { color: var(--nexus-muted); }
.message-sigil { display: grid; width: 68px; height: 68px; margin: 0 auto 1.3rem; place-items: center; border: 1px solid var(--nexus-cyan); color: var(--nexus-cyan-bright); font-family: "Oxanium Nexus", sans-serif; }
.message-sigil--warning { border-color: var(--nexus-warning); color: #e9c88f; }

/* Authenticated shell */

.app-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: var(--rail-width) minmax(0, 1fr);
    background:
        radial-gradient(circle at 90% -10%, rgba(102, 188, 233, .09), transparent 36rem),
        var(--nexus-black);
}

.app-rail {
    position: sticky;
    top: 0;
    display: flex;
    height: 100vh;
    flex-direction: column;
    padding: 1.35rem 1rem 1rem;
    border-right: 1px solid rgba(130, 146, 158, .24);
    background:
        linear-gradient(180deg, rgba(32, 42, 50, .55), transparent 35%),
        #0a0f13;
    box-shadow: 12px 0 30px rgba(0, 0, 0, .16);
}

.brand-lockup--app {
    margin: 0 .45rem 1.6rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid rgba(130, 146, 158, .18);
}

.primary-nav {
    display: grid;
    gap: .35rem;
}

.primary-nav__item {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 46px;
    padding: .55rem .7rem;
    border: 1px solid transparent;
    border-radius: 4px;
    color: var(--nexus-muted);
    font-size: .88rem;
}

.primary-nav__item:hover { background: rgba(38, 49, 58, .58); color: var(--nexus-text); }
.primary-nav__item.active { border-color: rgba(102, 188, 233, .26); background: rgba(32, 62, 82, .42); color: #edf8ff; }
.primary-nav__icon { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; color: var(--nexus-cyan); font-family: "Oxanium Nexus", sans-serif; font-size: 1.15rem; line-height: 1; }

.rail-teams {
    min-height: 0;
    margin-top: 1.5rem;
    overflow-y: auto;
    scrollbar-color: var(--nexus-steel-dark) transparent;
    scrollbar-width: thin;
}

.rail-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 .6rem .6rem;
    color: var(--nexus-muted-soft);
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .64rem;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.rail-section-title span:last-child { color: var(--nexus-gold); }
.rail-empty { padding: .2rem .6rem; color: var(--nexus-muted-soft); font-size: .78rem; }
.rail-team-list { display: grid; gap: .22rem; }

.rail-team-link {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 48px;
    padding: .45rem .55rem;
    border-left: 2px solid transparent;
    border-radius: 2px 4px 4px 2px;
    color: var(--nexus-muted);
}

.rail-team-link:hover { background: rgba(38, 49, 58, .52); color: var(--nexus-text); }
.rail-team-link.active { border-left-color: var(--nexus-gold); background: rgba(38, 49, 58, .68); color: white; }

.rail-team-link__sigil, .account-chip__avatar, .mobile-avatar, .member-avatar {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--nexus-steel-dark);
    background: #141c22;
    color: var(--nexus-cyan-bright);
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .68rem;
    font-weight: 600;
}

.rail-team-link__label, .account-chip__text { min-width: 0; }
.rail-team-link__label strong, .account-chip__text strong { display: block; overflow: hidden; font-size: .82rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.rail-team-link__label small, .account-chip__text small { display: block; overflow: hidden; color: var(--nexus-muted-soft); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }

.rail-account {
    display: grid;
    gap: .75rem;
    margin-top: auto;
    padding: 1rem .45rem .2rem;
    border-top: 1px solid rgba(130, 146, 158, .18);
}

.account-chip { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.account-chip__text { flex: 1 1 auto; }
.account-chip__edit { width: .82rem; height: .82rem; flex: 0 0 auto; opacity: .62; }
.account-avatar-image { display: block; object-fit: cover; background: #0a0f13; }
.account-chip--link { width: 100%; padding: .35rem; margin: -.35rem; border: 1px solid transparent; border-radius: 4px; }
.account-chip--link:hover { border-color: rgba(102, 188, 233, .22); background: rgba(38, 49, 58, .46); }
.account-chip--link:hover .account-chip__edit,
.account-chip--link:focus-visible .account-chip__edit { opacity: 1; }
.account-chip__avatar, .mobile-avatar, .member-avatar { overflow: hidden; border-radius: 4px; }
.mobile-avatar-link { display: inline-flex; flex: 0 0 auto; }
.text-button { min-height: 36px; padding: 0; background: transparent; color: var(--nexus-muted-soft); font-size: .76rem; cursor: pointer; }
.text-button:hover { color: var(--nexus-cyan-bright); }

.app-stage { min-width: 0; }
.mobile-topbar, .mobile-nav, .mobile-account-sheet { display: none; }

.app-content {
    width: min(100% - clamp(2rem, 6vw, 6rem), var(--content-max));
    margin-inline: auto;
    padding-block: clamp(2rem, 4vw, 4rem) 4rem;
}

.page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.page-heading p:not(.eyebrow) { max-width: 50rem; margin-bottom: 0; color: var(--nexus-muted); font-size: 1.03rem; }
.page-heading__action { flex: 0 0 auto; }
.page-heading--compact { align-items: flex-start; }
.page-heading--compact > div { max-width: 760px; }

.dashboard-identity { display: flex; align-items: center; gap: 1.25rem; min-width: 0; }
.dashboard-identity > div { min-width: 0; }
.dashboard-identity h1 { overflow-wrap: anywhere; }
.dashboard-avatar-link { position: relative; display: block; width: 120px; height: 120px; flex: 0 0 auto; }
.dashboard-avatar { width: 100%; height: 100%; border: 1px solid rgba(216, 164, 84, .65); border-radius: 6px; box-shadow: 0 10px 26px rgba(0, 0, 0, .3); }
.dashboard-avatar-link > span { position: absolute; right: -5px; bottom: -5px; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--nexus-gold-dark); border-radius: 50%; background: #15212a; color: var(--nexus-gold-bright); font-size: .8rem; }
.dashboard-avatar-link:hover .dashboard-avatar { border-color: var(--nexus-gold-bright); }

.status-banner {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: 1.4rem;
    padding: .7rem .9rem;
    border: 1px solid rgba(118, 199, 160, .3);
    background: rgba(39, 105, 76, .11);
    color: #b6e2ca;
    font-size: .82rem;
}

.status-banner__signal { width: 7px; height: 7px; border-radius: 50%; background: var(--nexus-success); }
.status-banner--warning { border-color: rgba(216, 164, 84, .36); background: rgba(118, 75, 20, .13); color: #e9c88f; }
.status-banner--warning .status-banner__signal { background: var(--nexus-warning); }

.section-block { margin-top: 2rem; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading h2 { margin: 0; }
.section-heading--small { align-items: center; }
.section-count { display: grid; min-width: 28px; height: 28px; place-items: center; border: 1px solid var(--nexus-steel-dark); color: var(--nexus-muted); font-family: "Oxanium Nexus", sans-serif; font-size: .7rem; }

.empty-state {
    display: grid;
    align-items: center;
    min-height: 340px;
    padding: clamp(2rem, 5vw, 4rem);
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1fr);
    gap: 3rem;
    border: 1px solid rgba(130, 146, 158, .35);
    background:
        linear-gradient(100deg, rgba(32, 62, 82, .14), transparent 55%),
        rgba(22, 29, 35, .58);
}

.empty-state__visual { position: relative; display: grid; min-height: 210px; place-items: center; }
.empty-state__visual::before, .empty-state__visual::after { position: absolute; content: ""; border: 1px solid rgba(102, 188, 233, .18); border-radius: 50%; }
.empty-state__visual::before { width: 210px; height: 120px; }
.empty-state__visual::after { width: 130px; height: 210px; }
.empty-state__mark { width: 74px; height: 74px; filter: drop-shadow(0 0 20px rgba(195, 162, 94, .2)); }
.empty-state__visual > span { position: absolute; width: 7px; height: 7px; border: 1px solid var(--nexus-cyan); border-radius: 50%; background: var(--nexus-black); }
.empty-state__visual > span:nth-of-type(1) { left: 15%; top: 38%; }
.empty-state__visual > span:nth-of-type(2) { right: 18%; top: 27%; border-color: var(--nexus-gold); }
.empty-state__visual > span:nth-of-type(3) { right: 10%; bottom: 26%; }
.empty-state__copy { max-width: 560px; }
.empty-state__copy p:not(.kicker) { color: var(--nexus-muted); }
.empty-state__copy .button { margin-top: .6rem; }

.team-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(250px, 1fr));
    gap: 1rem;
}

.team-card-grid--tools { margin-top: 1rem; }
.team-card--tool { color: inherit; }

.team-card {
    position: relative;
    display: grid;
    min-height: 220px;
    padding: 1.25rem;
    grid-template-rows: auto 1fr auto;
    border: 1px solid rgba(130, 146, 158, .43);
    border-radius: 4px;
    background:
        linear-gradient(145deg, rgba(102, 188, 233, .04), transparent 47%),
        rgba(22, 29, 35, .86);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
    transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}

.team-card::before { position: absolute; content: ""; left: 16px; top: -1px; width: 56px; height: 1px; background: var(--nexus-gold); }
.team-card:hover { transform: translateY(-2px); border-color: var(--nexus-steel); background-color: rgba(32, 42, 50, .9); }
.team-card__topline, .team-card__footer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.team-card__sigil { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--nexus-steel-dark); background: #0d1419; color: var(--nexus-cyan-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .78rem; }
.team-card__body { align-self: center; padding-block: 1.25rem; }
.team-card__body h3 { margin-bottom: .25rem; font-size: 1.28rem; }
.team-card__body p { margin: 0; color: var(--nexus-muted); font-size: .82rem; }
.team-card__footer { padding-top: .8rem; border-top: 1px solid rgba(130, 146, 158, .17); color: var(--nexus-muted); font-size: .76rem; }
.team-card__footer span:last-child { color: var(--nexus-gold-bright); font-size: 1rem; }

.role-badge {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: .2rem .55rem;
    border: 1px solid rgba(102, 188, 233, .28);
    background: rgba(32, 62, 82, .28);
    color: #a9d9f1;
    font-size: .64rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.role-badge--captain { border-color: rgba(195, 162, 94, .45); background: rgba(130, 107, 67, .17); color: #e0c17d; }
.role-badge--large { min-height: 30px; padding-inline: .7rem; }

.team-card--new { place-items: center; align-content: center; gap: .7rem; border-style: dashed; background: rgba(9, 14, 18, .4); color: var(--nexus-muted); }
.team-card--new::before { display: none; }
.team-card--new__plus { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--nexus-steel-dark); color: var(--nexus-cyan); font-size: 1.5rem; }

.private-foundation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 3rem;
    padding: 1rem 1.2rem;
    border: 1px solid rgba(130, 146, 158, .22);
    background: rgba(9, 14, 18, .5);
}

.private-foundation > div { display: flex; align-items: center; gap: .75rem; }
.private-foundation strong, .private-foundation small { display: block; }
.private-foundation strong { font-size: .8rem; }
.private-foundation small { color: var(--nexus-muted-soft); font-size: .72rem; }
.private-foundation__tag { color: var(--nexus-muted-soft); font-family: "Oxanium Nexus", sans-serif; font-size: .64rem; letter-spacing: .12em; }

.narrow-page { max-width: 1120px; margin-inline: auto; }
.back-link { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; margin-bottom: 1rem; color: var(--nexus-muted); font-size: .78rem; }
.back-link:hover { color: var(--nexus-cyan-bright); }

.creation-layout {
    display: grid;
    align-items: stretch;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .75fr);
    gap: 1.25rem;
}

.panel { padding: 1.5rem; }
.panel__head--small { margin-bottom: 1.2rem; }

.formation-preview {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    border: 1px solid rgba(102, 188, 233, .25);
    background: linear-gradient(160deg, rgba(32, 62, 82, .32), rgba(9, 14, 18, .72));
}

.formation-preview__orbit { position: relative; display: grid; min-height: 190px; margin-bottom: 1.5rem; place-items: center; }
.formation-preview__orbit::before, .formation-preview__orbit::after { position: absolute; content: ""; border: 1px solid rgba(102, 188, 233, .2); border-radius: 50%; }
.formation-preview__orbit::before { width: 180px; height: 90px; }
.formation-preview__orbit::after { width: 90px; height: 180px; border-color: rgba(195, 162, 94, .2); }
.formation-preview__mark { width: 64px; height: 64px; }
.formation-preview__orbit span { position: absolute; width: 7px; height: 7px; border: 1px solid var(--nexus-cyan); border-radius: 50%; background: var(--nexus-black); }
.formation-preview__orbit span:nth-child(1) { left: 16%; top: 43%; }
.formation-preview__orbit span:nth-child(2) { right: 17%; top: 30%; }
.formation-preview__orbit span:nth-child(3) { right: 24%; bottom: 26%; border-color: var(--nexus-gold); }
.formation-preview ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.formation-preview li { display: flex; align-items: center; gap: .75rem; min-height: 44px; padding: .55rem 0; border-bottom: 1px solid rgba(130, 146, 158, .17); }
.formation-preview li span { color: var(--nexus-gold); font-family: "Oxanium Nexus", sans-serif; font-size: .62rem; }
.formation-preview li strong { font-size: .82rem; }

/* Team workspace */

.team-hero {
    display: grid;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1.4rem 1.5rem;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.25rem;
    border: 1px solid rgba(130, 146, 158, .35);
    background:
        linear-gradient(100deg, rgba(32, 62, 82, .22), transparent 60%),
        rgba(22, 29, 35, .7);
}

.team-hero__sigil {
    display: grid;
    width: 86px;
    height: 86px;
    place-items: center;
    border: 1px solid var(--nexus-gold-dark);
    background: #0b1116;
    color: var(--nexus-gold-bright);
    font-family: "Oxanium Nexus", sans-serif;
    font-size: 1.25rem;
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
}

.team-hero .back-link { margin-bottom: .45rem; }
.team-hero__title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.team-hero h1 { margin-bottom: .25rem; font-size: clamp(1.8rem, 3.3vw, 2.8rem); }
.team-hero__identity > p:last-child { margin: .2rem 0 0; color: var(--nexus-muted); font-size: .78rem; }

.team-layout {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
    gap: 1.25rem;
}

.team-roster { margin-top: 0; }
.member-list { display: grid; border: 1px solid rgba(130, 146, 158, .3); background: rgba(22, 29, 35, .55); }

.member-row {
    display: grid;
    align-items: center;
    min-height: 74px;
    padding: .75rem 1rem;
    grid-template-areas: "identity actions status";
    grid-template-columns: minmax(180px, 1fr) auto minmax(72px, 88px);
    gap: 1rem;
    border-bottom: 1px solid rgba(130, 146, 158, .17);
}

.member-row:last-child { border-bottom: 0; }
.member-row--suspended { background: rgba(96, 62, 25, .08); }
.member-row__identity { display: flex; align-items: center; gap: .75rem; min-width: 0; grid-area: identity; }
.member-row__identity > span:last-child { min-width: 0; }
.member-row__identity strong, .member-row__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-row__identity strong { font-size: .88rem; }
.member-row__identity small { color: var(--nexus-muted-soft); font-size: .7rem; }
.member-avatar { width: 38px; height: 38px; border-color: rgba(102, 188, 233, .4); }

.member-status { display: inline-flex; min-width: 72px; align-items: center; justify-content: flex-end; justify-self: end; gap: .45rem; grid-area: status; color: #a7ceb8; font-size: .7rem; }
.member-status i { width: 5px; height: 5px; box-shadow: none; }
.member-status--suspended { color: #d6b783; }
.member-status--suspended i { background: var(--nexus-warning); }

.member-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; grid-area: actions; }
.team-action-form { display: contents; }
.member-action-button { min-height: 34px; padding: .32rem .55rem; border: 1px solid rgba(130, 146, 158, .3); border-radius: 2px; background: rgba(38, 49, 58, .48); color: var(--nexus-muted); font-size: .68rem; cursor: pointer; }
.member-action-button:hover { border-color: var(--nexus-cyan); color: var(--nexus-text); }
.member-action-button--danger:hover { border-color: var(--nexus-danger); color: #efaaaa; }

.captain-column { display: grid; gap: 1rem; }
.invite-panel, .pending-panel { padding: 1.25rem; }
.panel-empty { margin: .5rem 0 0; color: var(--nexus-muted-soft); font-size: .78rem; }

.issued-code { display: grid; gap: .55rem; margin-top: 1rem; padding: .85rem; border: 1px solid rgba(118, 199, 160, .3); background: rgba(39, 105, 76, .09); }
.issued-code__label { color: #b6e2ca; font-size: .72rem; }
.issued-code small { color: var(--nexus-muted-soft); font-size: .66rem; }
.copy-field { display: flex; min-width: 0; }
.copy-field input { min-height: 42px; border-radius: 2px 0 0 2px; color: var(--nexus-muted); font-size: .72rem; }
.copy-field button { min-width: 68px; border: 1px solid var(--nexus-gold-dark); border-left: 0; border-radius: 0 2px 2px 0; background: var(--nexus-cyan-deep); color: var(--nexus-text); font-size: .7rem; cursor: pointer; }
.copy-field button:hover, .copy-field button.is-copied { border-color: var(--nexus-gold); background: #2d5873; }

.pending-list { display: grid; }
.pending-item { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 58px; padding-block: .6rem; border-bottom: 1px solid rgba(130, 146, 158, .16); }
.pending-item:last-child { border-bottom: 0; }
.pending-item strong, .pending-item small { display: block; }
.pending-item strong { max-width: 260px; overflow: hidden; font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.pending-item small { color: var(--nexus-muted-soft); font-size: .66rem; }
.icon-button { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(130, 146, 158, .27); border-radius: 2px; background: transparent; color: var(--nexus-muted); font-size: 1.05rem; cursor: pointer; }
.icon-button:hover { border-color: var(--nexus-danger); color: #efaaaa; }

.team-leave-zone { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem; border: 1px solid rgba(228, 121, 121, .2); background: rgba(91, 31, 31, .06); }
.team-leave-zone strong { font-size: .82rem; }
.team-leave-zone p { margin: .15rem 0 0; color: var(--nexus-muted-soft); font-size: .72rem; }

/* Tablet */

/* Public landing, registration, and team onboarding */

.landing {
    align-self: center;
    display: grid;
    align-items: center;
    gap: clamp(3rem, 8vw, 8.5rem);
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .82fr);
    min-height: min(690px, 72vh);
}

.landing__copy { max-width: 760px; }
.landing__copy h1 { max-width: 13ch; font-size: clamp(2.8rem, 6.2vw, 5.8rem); }
.landing__lead { max-width: 42rem; margin-bottom: 0; color: #bbc6cd; font-size: clamp(1.04rem, 1.5vw, 1.28rem); line-height: 1.7; }
.landing__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.landing__actions .button { min-height: 52px; padding-inline: 1.35rem; }
.landing__primary { min-width: 210px; }
.landing__assurance { display: flex; align-items: center; gap: .6rem; margin: 1.2rem 0 0; color: var(--nexus-muted-soft); font-size: .78rem; }
.landing__assurance i { width: 6px; height: 6px; border-radius: 50%; background: var(--nexus-success); box-shadow: 0 0 11px rgba(118, 199, 160, .45); }

.landing-command {
    position: relative;
    display: grid;
    align-self: stretch;
    min-height: 520px;
    padding: clamp(1.4rem, 3.2vw, 2.3rem);
    border: 1px solid rgba(130, 146, 158, .4);
    background: linear-gradient(145deg, rgba(32, 42, 50, .82), rgba(9, 14, 18, .92));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .035);
}

.landing-command::before, .landing-command::after { position: absolute; content: ""; width: 62px; height: 62px; pointer-events: none; }
.landing-command::before { top: -1px; left: -1px; border-top: 2px solid var(--nexus-gold); border-left: 2px solid var(--nexus-gold); }
.landing-command::after { right: -1px; bottom: -1px; border-right: 2px solid var(--nexus-cyan); border-bottom: 2px solid var(--nexus-cyan); }
.landing-command__frame { position: relative; display: grid; min-height: 330px; place-items: center; overflow: hidden; border-bottom: 1px solid rgba(130, 146, 158, .18); isolation: isolate; }
.landing-command__frame::before { position: absolute; content: ""; inset: 10% 18%; background: radial-gradient(circle, rgba(102, 188, 233, .13), transparent 64%); }
.landing-command__emblem { position: relative; z-index: 2; display: block; width: min(100%, 340px); height: auto; filter: drop-shadow(0 0 25px rgba(102, 188, 233, .16)); }
.landing-command__legend { display: grid; align-content: end; gap: .7rem; padding-top: 1.4rem; }
.landing-command__legend > div { display: grid; align-items: center; gap: .1rem .8rem; grid-template-columns: 32px 1fr; }
.landing-command__legend span { grid-row: 1 / 3; color: var(--nexus-gold); font-family: "Oxanium Nexus", sans-serif; font-size: .68rem; }
.landing-command__legend strong { color: #e7edf1; font-family: "Oxanium Nexus", sans-serif; font-size: .83rem; }
.landing-command__legend small { color: var(--nexus-muted-soft); font-size: .7rem; }

.registration-intro { max-width: 650px; }
.registration-intro > p:not(.eyebrow) { max-width: 36rem; color: var(--nexus-muted); font-size: 1.08rem; line-height: 1.65; }
.registration-benefits { display: grid; gap: .75rem; margin: 2rem 0 0; padding: 0; list-style: none; color: #cbd5db; }
.registration-benefits li { display: flex; align-items: center; gap: .8rem; }
.registration-benefits span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(195, 162, 94, .5); color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .62rem; }
.registration-journey .access-card { max-width: 560px; }

.turnstile-field { display: grid; align-items: center; overflow: hidden; }
.turnstile-field .turnstile-host, .turnstile-field iframe { max-width: 100%; }
.turnstile-field noscript { color: #efaaaa; font-size: .78rem; }
.turnstile-status { margin: .45rem 0 0; color: var(--nexus-muted); font-size: .76rem; line-height: 1.35; }
.turnstile-field.is-interactive .turnstile-status { color: var(--nexus-cyan-bright); }
.bot-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.message-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.empty-state__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.2rem; }
.solo-note { display: block; max-width: 42rem; margin-top: 1rem; color: var(--nexus-muted-soft); line-height: 1.5; }

.join-layout { display: grid; align-items: start; gap: clamp(1.5rem, 5vw, 4rem); grid-template-columns: minmax(340px, .85fr) minmax(260px, .55fr); }
.join-panel { max-width: 620px; padding: clamp(1.4rem, 3vw, 2.2rem); }
.join-guidance { padding: 1.6rem 0 1.6rem 1.7rem; border-left: 1px solid rgba(102, 188, 233, .32); }
.join-guidance p:last-child { margin-bottom: 0; color: var(--nexus-muted); line-height: 1.65; }
.join-code-input input, .copy-field--code input { text-align: center; font-family: "Oxanium Nexus", monospace; font-size: 1.35rem; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; }
.copy-field--code input { padding-left: 1.6rem; }
.issued-join-code { border-color: rgba(102, 188, 233, .36); background: rgba(32, 62, 82, .18); }

/* Account avatar profile */

.profile-page { max-width: 1180px; margin-inline: auto; }
.profile-heading { margin-top: .6rem; margin-bottom: 1.35rem; }
.avatar-editor { display: grid; align-items: start; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 1rem; }
.avatar-current-panel, .avatar-gallery { border: 1px solid rgba(130, 146, 158, .28); background: rgba(22, 29, 35, .72); }
.avatar-current-panel { position: sticky; top: 1rem; display: grid; gap: .85rem; padding: 1rem; }
.avatar-current-panel__image { width: 100%; aspect-ratio: 1; border: 1px solid rgba(216, 164, 84, .55); border-radius: 6px; box-shadow: 0 18px 34px rgba(0, 0, 0, .28); }
.avatar-current-panel strong, .avatar-current-panel small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar-current-panel strong { margin-top: .15rem; font-family: "Oxanium Nexus", sans-serif; font-size: .92rem; }
.avatar-current-panel small { margin-top: .15rem; color: var(--nexus-muted-soft); font-size: .7rem; }
.avatar-current-panel__hint { margin: -.2rem 0 0; color: var(--nexus-muted-soft); font-size: .68rem; text-align: center; }
.avatar-gallery { min-width: 0; padding: .9rem; }
.avatar-gallery__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; margin-bottom: .8rem; }
.avatar-gallery__heading h2 { margin: .12rem 0 0; font-size: 1.05rem; }
.avatar-choice-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: .5rem; }
.avatar-choice { position: relative; display: block; min-width: 0; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(130, 146, 158, .28); border-radius: 5px; background: #0a0f13; cursor: pointer; }
.avatar-choice:hover { border-color: rgba(102, 188, 233, .72); transform: translateY(-1px); }
.avatar-choice:has(.avatar-choice__control:checked) { border-color: var(--nexus-gold-bright); box-shadow: 0 0 0 2px rgba(216, 164, 84, .24), 0 10px 22px rgba(0, 0, 0, .28); }
.avatar-choice__control { position: absolute; z-index: 2; width: 1px; height: 1px; opacity: 0; }
.avatar-choice:has(.avatar-choice__control:focus-visible) { outline: 2px solid var(--nexus-cyan-bright); outline-offset: 2px; }
.avatar-choice__image { width: 100%; height: 100%; transition: filter .16s ease, transform .16s ease; }
.avatar-choice:hover .avatar-choice__image { transform: scale(1.025); }
.avatar-choice:not(:has(.avatar-choice__control:checked)) .avatar-choice__image { filter: saturate(.82) brightness(.86); }
.avatar-choice__check { position: absolute; z-index: 1; right: 5px; bottom: 5px; display: none; width: 22px; height: 22px; place-items: center; border: 1px solid rgba(255, 245, 217, .48); border-radius: 50%; background: var(--nexus-gold); color: #091016; font-family: "Oxanium Nexus", sans-serif; font-size: .7rem; font-weight: 700; box-shadow: 0 4px 12px rgba(0, 0, 0, .35); }
.avatar-choice:has(.avatar-choice__control:checked) .avatar-choice__check { display: grid; }
.avatar-gallery__save { display: none; margin-top: .8rem; }

@media (max-width: 1180px) {
    :root { --rail-width: 238px; }
    .landing { gap: 3rem; grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr); }
    .landing-command { min-height: 490px; }
    .team-card-grid { grid-template-columns: repeat(2, minmax(240px, 1fr)); }
    .team-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 350px); }
    .member-row { grid-template-areas: "identity status" "actions actions"; grid-template-columns: minmax(170px, 1fr) minmax(72px, auto); }
    .member-actions { justify-content: flex-start; padding-left: 50px; }
}

@media (max-width: 960px) {
    .auth-journey { gap: 3rem; grid-template-columns: minmax(0, .85fr) minmax(340px, 1fr); }
    .landing { gap: 2rem; grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr); }
    .landing__copy h1 { font-size: clamp(2.7rem, 6.5vw, 4.5rem); }
    .landing-command { min-height: 450px; padding: 1.4rem; }
    .landing-command__frame { min-height: 290px; }
    .app-rail { display: none; }
    .app-shell { display: block; }
    .mobile-topbar {
        position: sticky;
        z-index: 20;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 66px;
        padding: .55rem max(1rem, env(safe-area-inset-left));
        border-bottom: 1px solid rgba(130, 146, 158, .25);
        background: rgba(8, 13, 17, .94);
        backdrop-filter: blur(16px);
    }
    .brand-lockup--mobile .brand-lockup__mark { width: 32px; height: 32px; }
    .brand-lockup--mobile .brand-lockup__name { font-size: .85rem; }
    .mobile-avatar { width: 36px; height: 36px; border-color: var(--nexus-gold-dark); color: var(--nexus-gold-bright); }
    .app-content { width: min(100% - 2rem, var(--content-max)); padding-block: 1.6rem calc(6.5rem + var(--safe-bottom)); }
    .mobile-nav {
        position: fixed;
        z-index: 30;
        left: 50%;
        bottom: max(.7rem, var(--safe-bottom));
        display: grid;
        width: min(calc(100% - 2rem), 430px);
        min-height: 64px;
        padding: .35rem;
        grid-template-columns: repeat(3, 1fr);
        transform: translateX(-50%);
        border: 1px solid rgba(130, 146, 158, .42);
        border-radius: 6px;
        background: rgba(18, 25, 30, .96);
        box-shadow: 0 14px 40px rgba(0, 0, 0, .52);
        backdrop-filter: blur(16px);
    }
    .mobile-nav__item { display: flex; min-width: 0; min-height: 54px; flex-direction: column; align-items: center; justify-content: center; gap: .12rem; border-radius: 4px; background: transparent; color: var(--nexus-muted); cursor: pointer; }
    .mobile-nav__item > span { font-family: "Oxanium Nexus", sans-serif; font-size: 1.12rem; }
    .mobile-nav__item small { font-size: .64rem; }
    .mobile-nav__item.active { background: rgba(32, 62, 82, .42); color: var(--nexus-cyan-bright); }
    .mobile-nav__item--primary { color: var(--nexus-gold-bright); }
    .mobile-account-sheet { position: fixed; z-index: 50; inset: 0; display: block; }
    .mobile-account-sheet__backdrop { position: absolute; inset: 0; width: 100%; background: rgba(0, 0, 0, .7); backdrop-filter: blur(4px); }
    .mobile-account-sheet__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: min(78vh, 620px); overflow-y: auto; padding: .65rem 1.2rem calc(1.2rem + var(--safe-bottom)); border: 1px solid var(--nexus-steel-dark); border-bottom: 0; border-radius: 12px 12px 0 0; background: #11181d; box-shadow: 0 -20px 60px rgba(0, 0, 0, .55); }
    .sheet-grabber { width: 42px; height: 4px; margin: 0 auto 1rem; border-radius: 2px; background: var(--nexus-steel-dark); }
    .account-chip--sheet { padding-bottom: 1rem; border-bottom: 1px solid rgba(130, 146, 158, .2); }
    .sheet-team-list { display: grid; margin-block: .75rem; }
    .sheet-team-list a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: .55rem; border-bottom: 1px solid rgba(130, 146, 158, .14); }
    .sheet-team-list a span { font-size: .84rem; }
    .sheet-team-list a small { color: var(--nexus-muted-soft); font-size: .68rem; }
    .avatar-editor { grid-template-columns: minmax(190px, 230px) minmax(0, 1fr); }
    .creation-layout, .team-layout { grid-template-columns: 1fr; }
    .captain-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Phone */

@media (max-width: 720px) {
    html:has(.army-unit-editor), body:has(.army-unit-editor) { overflow: hidden; }
    h1 { font-size: clamp(1.75rem, 9vw, 2.65rem); }
    .access-shell { min-height: 100svh; }
    .access-shell__grid { background-size: 44px 44px; }
    .access-header { width: calc(100% - 2rem); min-height: 68px; }
    .access-header__status { font-size: 0; }
    .access-header__status i { width: 8px; height: 8px; }
    .access-main { width: calc(100% - 2rem); padding-block: 1.5rem 2.5rem; }
    .access-footer { min-height: 50px; font-size: .66rem; }
    .auth-journey { grid-template-columns: 1fr; gap: 1.5rem; }
    .landing { grid-template-columns: 1fr; gap: 2.5rem; min-height: 0; }
    .landing__copy h1 { max-width: 14ch; font-size: clamp(2.35rem, 11.8vw, 3.7rem); }
    .landing__lead { font-size: 1rem; line-height: 1.6; }
    .landing__actions { display: grid; grid-template-columns: 1fr; margin-top: 1.5rem; }
    .landing__actions .button { width: 100%; }
    .landing-command { min-height: 420px; }
    .landing-command__frame { min-height: 260px; }
    .landing-command__emblem { width: min(100%, 270px); }
    .registration-intro h1 { max-width: 15ch; }
    .registration-intro > p:not(.eyebrow) { font-size: .96rem; }
    .registration-benefits { margin-top: 1.2rem; font-size: .85rem; }
    .join-layout { grid-template-columns: 1fr; gap: 1rem; }
    .join-guidance { padding: 1rem 0 0; border-top: 1px solid rgba(102, 188, 233, .28); border-left: 0; }
    .access-card { max-width: none; justify-self: stretch; padding: 1.25rem; }
    .access-card__head { margin-bottom: 1.25rem; }
    .field__control input { min-height: 52px; font-size: 1rem; }
    .button { min-height: 50px; }
    .message-page { min-height: 65vh; }
    .app-content { width: calc(100% - 1.25rem); padding-top: 1.1rem; }
    .page-heading { align-items: stretch; flex-direction: column; gap: 1.1rem; margin-bottom: 1.4rem; }
    .page-heading h1 { margin-bottom: .5rem; }
    .page-heading p:not(.eyebrow) { font-size: .93rem; }
    .page-heading__action { width: 100%; }
    .dashboard-identity { align-items: flex-start; gap: .75rem; }
    .dashboard-avatar-link { width: 72px; height: 72px; }
    .team-card-grid { grid-template-columns: 1fr; }
    .team-card { min-height: 190px; }
    .team-card--new { min-height: 108px; }
    .empty-state { min-height: 0; padding: 1.5rem; grid-template-columns: 1fr; gap: 1rem; }
    .empty-state__actions { display: grid; grid-template-columns: 1fr; }
    .empty-state__actions .button { width: 100%; }
    .empty-state__visual { min-height: 150px; }
    .empty-state__visual::before { width: 170px; height: 90px; }
    .empty-state__visual::after { width: 90px; height: 160px; }
    .empty-state__mark { width: 58px; height: 58px; }
    .private-foundation { align-items: flex-start; }
    .private-foundation__tag { display: none; }
    .creation-layout { gap: 1rem; }
    .panel, .formation-preview { padding: 1.2rem; }
    .formation-preview { display: none; }
    .team-hero { padding: 1rem; grid-template-columns: auto minmax(0, 1fr); gap: .8rem; }
    .team-hero__sigil { width: 58px; height: 58px; font-size: .9rem; }
    .team-hero__title-row { align-items: flex-start; flex-direction: column; gap: .45rem; }
    .team-hero h1 { font-size: 1.55rem; }
    .team-hero .back-link { display: none; }
    .team-layout { gap: 1.5rem; }
    .member-row { min-height: 0; padding: .9rem; grid-template-areas: "identity status" "actions actions"; grid-template-columns: minmax(0, 1fr) minmax(72px, auto); gap: .75rem; }
    .member-row__identity strong { font-size: .84rem; }
    .member-status { align-self: start; padding-top: .2rem; font-size: .65rem; }
    .member-actions { display: grid; padding: .7rem 0 0; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(130, 146, 158, .14); }
    .member-action-button { width: 100%; min-height: 42px; font-size: .7rem; }
    .captain-column { grid-template-columns: 1fr; }
    .copy-field { flex-direction: column; gap: .4rem; }
    .copy-field input, .copy-field button { width: 100%; min-height: 44px; border: 1px solid var(--nexus-steel-dark); border-radius: 2px; }
    .team-leave-zone { align-items: stretch; flex-direction: column; }
    .team-leave-zone .button { width: 100%; }
    .profile-heading { margin-top: .35rem; margin-bottom: 1rem; }
    .avatar-editor { grid-template-columns: 1fr; gap: .75rem; }
    .avatar-current-panel { position: static; padding: .75rem; grid-template-columns: 72px minmax(0, 1fr); gap: .7rem; }
    .avatar-current-panel__image { width: 72px; grid-column: 1; grid-row: 1; }
    .avatar-current-panel > div { grid-column: 2; grid-row: 1; align-self: center; }
    .avatar-current-panel .button { grid-column: 1 / -1; grid-row: 2; }
    .avatar-current-panel__hint { display: none; grid-column: 1 / -1; }
    .avatar-gallery { padding: .6rem; }
    .avatar-gallery__heading { margin-bottom: .55rem; }
    .avatar-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .42rem; }
    .avatar-gallery__save { display: flex; position: sticky; z-index: 5; bottom: calc(5.35rem + var(--safe-bottom)); box-shadow: 0 12px 34px rgba(0, 0, 0, .45); }
}

@media (max-width: 390px) {
    .access-main { width: calc(100% - 1.25rem); }
    .access-header { width: calc(100% - 1.25rem); }
    .brand-lockup__name { font-size: .86rem; }
    .mobile-nav { width: calc(100% - 1rem); }
    .landing-command { min-height: 390px; padding: 1rem; }
    .landing-command__emblem { width: min(100%, 235px); }
    .join-code-input input, .copy-field--code input { font-size: 1.15rem; letter-spacing: .25em; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


@media (forced-colors: active) {
    .button, .access-card, .panel, .team-card, .member-list, .team-hero { border: 1px solid CanvasText; }
    .eyebrow > span, .access-card::before, .panel::before { background: CanvasText; }
}

/* Direct messaging */
.messaging-heading { align-items: end; }
.messaging-heading .section-count { min-width: 40px; min-height: 40px; display: grid; place-items: center; }
.message-inbox { display: grid; overflow: hidden; border: 1px solid rgba(130, 146, 158, .24); background: rgba(12, 18, 22, .72); }
.message-inbox-card { display: grid; min-height: 86px; padding: .9rem 1rem; align-items: center; gap: .85rem; grid-template-columns: auto minmax(0, 1fr) auto; border-bottom: 1px solid rgba(130, 146, 158, .16); color: inherit; transition: background .16s ease, border-color .16s ease; }
.message-inbox-card:last-child { border-bottom: 0; }
.message-inbox-card:hover, .message-inbox-card:focus-visible { background: rgba(32, 62, 82, .28); border-color: rgba(102, 188, 233, .36); }
.message-inbox-card--unread { background: linear-gradient(90deg, rgba(102, 188, 233, .13), transparent 52%); box-shadow: inset 3px 0 var(--nexus-cyan-bright); }
.message-inbox-card__avatar { width: 52px; height: 52px; border: 1px solid rgba(195, 162, 94, .4); border-radius: 5px; }
.message-inbox-card__body { display: grid; min-width: 0; gap: .18rem; }
.message-inbox-card__body > span:first-child { display: flex; align-items: center; gap: .45rem; }
.message-inbox-card__body > span:last-child { overflow: hidden; color: var(--nexus-muted); text-overflow: ellipsis; white-space: nowrap; }
.message-inbox-card__body small, .message-inbox-card > time { color: var(--nexus-muted-soft); font-size: .72rem; }
.message-unread-count { display: inline-grid; min-width: 23px; height: 23px; place-items: center; padding-inline: .35rem; border-radius: 999px; background: var(--nexus-cyan-bright); color: #061017; font-size: .72rem; font-weight: 800; }
.message-request-panel { max-width: 780px; display: grid; gap: 1.2rem; }
.message-request-person { display: flex; align-items: center; gap: .8rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(130, 146, 158, .17); }
.message-request-person__avatar { width: 62px; height: 62px; border-radius: 5px; }
.message-request-person span { display: grid; gap: .18rem; }
.message-request-person small, .message-request-actions p { color: var(--nexus-muted); }
.message-request-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.message-request-actions p { margin: 0; font-size: .78rem; }
.conversation-header { display: grid; align-items: center; gap: .8rem 1rem; margin-bottom: 1rem; grid-template-columns: minmax(0, 1fr) auto; }
.conversation-header > .back-link { grid-column: 1 / -1; }
.conversation-header > div { display: flex; min-width: 0; align-items: center; gap: .75rem; }
.conversation-header h1, .conversation-header p { margin: 0; }
.conversation-header__avatar { width: 58px; height: 58px; border: 1px solid rgba(195, 162, 94, .42); border-radius: 5px; }
.conversation-request-state { max-width: 760px; display: grid; gap: 1rem; }
.conversation-request-state > div:last-child { display: flex; justify-content: flex-end; gap: .55rem; }
.conversation-safety-state { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; padding: .75rem 1rem; border: 1px solid rgba(195, 162, 94, .34); background: rgba(195, 162, 94, .08); }
.conversation-safety-state span { color: var(--nexus-muted); }
.conversation-stream { min-height: 360px; display: flex; flex-direction: column; gap: .65rem; padding: 1rem; border: 1px solid rgba(130, 146, 158, .23); background: radial-gradient(circle at 50% 0, rgba(32, 62, 82, .2), transparent 45%), rgba(7, 12, 15, .7); }
.conversation-stream__empty { min-height: 300px; display: grid; place-content: center; justify-items: center; text-align: center; color: var(--nexus-muted); }
.conversation-stream__empty > span { color: var(--nexus-gold-bright); font-size: 1.6rem; }
.conversation-stream__empty p { margin: .3rem 0 0; }
.conversation-message { width: min(78%, 720px); display: grid; align-items: end; gap: .5rem; grid-template-columns: 32px minmax(0, 1fr); }
.conversation-message--own { align-self: flex-end; grid-template-columns: minmax(0, 1fr); }
.conversation-message--own > .conversation-message__avatar { display: none; }
.conversation-message > div { padding: .72rem .85rem; border: 1px solid rgba(130, 146, 158, .25); border-radius: 4px 4px 4px 0; background: #151e24; }
.conversation-message--own > div { border-color: rgba(102, 188, 233, .34); border-radius: 4px 4px 0 4px; background: rgba(27, 58, 75, .8); }
.conversation-message__avatar { width: 32px; height: 32px; border-radius: 4px; }
.conversation-message header { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .35rem; }
.conversation-message header strong { font-size: .8rem; }
.conversation-message time { color: var(--nexus-muted-soft); font-size: .66rem; }
.conversation-message .safe-markdown p { margin: .22rem 0; }
.conversation-message footer { display: flex; justify-content: flex-end; gap: .7rem; margin-top: .38rem; }
.conversation-message footer button { min-height: 32px; padding: 0; border: 0; background: transparent; color: var(--nexus-muted); font-size: .7rem; }
.conversation-message footer button:hover, .conversation-message footer button:focus-visible { color: var(--nexus-cyan-bright); }
.conversation-message__deleted { margin: 0; color: var(--nexus-muted-soft); font-style: italic; }
.conversation-composer { position: sticky; bottom: 1rem; z-index: 5; margin-top: .65rem; padding: .75rem; border: 1px solid rgba(102, 188, 233, .34); background: rgba(17, 24, 29, .97); box-shadow: 0 16px 35px rgba(0, 0, 0, .38); }
.conversation-composer textarea { width: 100%; min-height: 84px; resize: vertical; border: 0; background: transparent; color: var(--nexus-text); outline: 0; }
.conversation-composer > div { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding-top: .55rem; border-top: 1px solid rgba(130, 146, 158, .16); }
.conversation-composer > div > span { color: var(--nexus-muted-soft); font-size: .7rem; }
.conversation-report-form { display: grid; gap: .8rem; margin-top: .75rem; border-color: rgba(195, 162, 94, .4); }
.conversation-report-form h2, .conversation-report-form p { margin: 0; }
.conversation-report-form > div:last-child { display: flex; justify-content: flex-end; gap: .5rem; }
.conversation-retention-note { color: var(--nexus-muted-soft); font-size: .7rem; text-align: right; }
.moderation-layout { display: grid; align-items: start; gap: 1rem; grid-template-columns: minmax(260px, .6fr) minmax(0, 1fr); }
.moderation-report-list { display: grid; gap: .5rem; }
.moderation-report-card { min-height: 116px; display: grid; padding: .75rem; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid rgba(130, 146, 158, .22); background: rgba(12, 18, 22, .76); color: var(--nexus-text); text-align: left; }
.moderation-report-card:hover, .moderation-report-card:focus-visible, .moderation-report-card.is-selected { border-color: var(--nexus-gold); background: rgba(195, 162, 94, .08); }
.moderation-report-card > span:first-child { display: grid; }
.moderation-report-card small, .moderation-report-card time { color: var(--nexus-muted-soft); font-size: .68rem; }
.moderation-report-card p { margin: 0; grid-column: 1 / -1; color: var(--nexus-muted); }
.moderation-evidence { position: sticky; top: 1rem; display: grid; gap: 1rem; }
.moderation-evidence details { padding: .75rem; border: 1px solid rgba(130, 146, 158, .17); }
.moderation-evidence summary { cursor: pointer; color: var(--nexus-cyan-bright); }
.moderation-evidence__facts { display: grid; gap: .4rem; }
.moderation-evidence__facts > div { display: grid; gap: .2rem; grid-template-columns: 100px minmax(0, 1fr); }
.moderation-evidence__facts dt { color: var(--nexus-muted-soft); }
.moderation-evidence__facts dd { margin: 0; }
.moderation-evidence__actions { display: flex; justify-content: flex-end; gap: .5rem; }
.moderation-outcome { padding: .75rem; border-left: 3px solid var(--nexus-gold); background: rgba(195, 162, 94, .07); }
.moderation-outcome p { margin: .35rem 0; }

@media (max-width: 900px) {
    .moderation-layout { grid-template-columns: 1fr; }
    .moderation-evidence { position: static; }
}

@media (max-width: 720px) {
    .mobile-nav { grid-template-columns: repeat(5, 1fr); }
    .mobile-nav__item small { font-size: .58rem; }
    .message-inbox-card { min-height: 76px; padding: .75rem; grid-template-columns: auto minmax(0, 1fr); }
    .message-inbox-card > time { display: none; }
    .conversation-message { width: 88%; }
}

@media (max-width: 560px) {
    .public-profile-hero__message { width: 100%; }
    .message-request-actions, .conversation-safety-state, .conversation-composer > div { align-items: stretch; flex-direction: column; }
    .message-request-actions .button, .conversation-request-state .button, .conversation-composer .button, .conversation-report-form .button { min-height: 44px; }
    .conversation-header { align-items: end; }
    .conversation-header > button { min-height: 44px; }
    .conversation-stream { min-height: 300px; margin-inline: calc(50% - 50vw); padding-inline: 1rem; border-inline: 0; }
    .conversation-message { width: 94%; }
    .conversation-composer { bottom: calc(4.9rem + var(--safe-bottom)); margin-inline: calc(50% - 50vw); padding-inline: 1rem; }
    .moderation-evidence__facts > div { grid-template-columns: 1fr; }
    .moderation-evidence__actions { display: grid; grid-template-columns: 1fr; }
}

@media (forced-colors: active) {
    .message-inbox, .message-inbox-card, .message-request-panel, .conversation-stream, .conversation-message > div,
    .conversation-composer, .moderation-report-card, .moderation-evidence { border: 1px solid CanvasText; }
}

/* Text-list notebook and explicit Army Builder entitlements */
.page-heading__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }
.page-heading__actions .button img, .administration-grant-actions .button img, .text-list-compose-section .button img { width: 14px; height: 14px; filter: brightness(0) invert(1); }
.text-list-heading { align-items: end; }
.text-list-heading--editor h1 { max-width: 22ch; }
.text-list-empty { display: grid; justify-items: center; max-width: 760px; margin: 4rem auto; padding: clamp(1.25rem, 4vw, 3rem); border: 1px solid rgba(130, 146, 158, .24); background: radial-gradient(circle at 50% 0, rgba(73, 164, 198, .09), transparent 58%), var(--nexus-panel); text-align: center; }
.text-list-empty__mark { display: grid; width: 70px; height: 70px; place-items: center; margin-bottom: 1rem; border: 1px solid rgba(99, 203, 232, .5); color: var(--nexus-cyan-bright); font: 2rem "Oxanium Nexus", sans-serif; }
.text-list-empty h2 { max-width: 22ch; margin: .2rem 0 .7rem; }
.text-list-empty > p { max-width: 60ch; color: var(--nexus-muted); }
.text-list-empty > div:last-child { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; margin-top: 1rem; }
.text-list-grid { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.text-list-card { display: grid; min-height: 260px; padding: 1rem; grid-template-rows: auto 1fr auto; border: 1px solid rgba(130, 146, 158, .24); background: linear-gradient(145deg, rgba(24, 35, 43, .96), rgba(13, 21, 27, .98)); color: inherit; text-decoration: none; transition: border-color .16s ease, transform .16s ease, background .16s ease; }
.text-list-card:hover, .text-list-card:focus-visible { border-color: rgba(99, 203, 232, .72); background: linear-gradient(145deg, rgba(27, 43, 52, .98), rgba(13, 23, 29, .98)); transform: translateY(-2px); }
.text-list-card--archived { opacity: .7; }
.text-list-card__topline, .text-list-card footer { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.text-list-origin { color: var(--nexus-cyan-bright); font-size: .61rem; letter-spacing: .06em; text-transform: uppercase; }
.text-list-card__body { align-self: center; padding-block: 1rem; }
.text-list-card__body h2 { margin: .25rem 0 1rem; font-size: 1.18rem; }
.text-list-card__points { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; }
.text-list-card__points strong { font: 1.7rem "Oxanium Nexus", sans-serif; color: var(--nexus-cream); }
.text-list-card__points span, .text-list-card__points small { color: var(--nexus-muted); font-size: .64rem; }
.text-list-card__points small { flex-basis: 100%; }
.text-list-card footer { padding-top: .75rem; border-top: 1px solid rgba(130, 146, 158, .17); color: var(--nexus-muted); font-size: .64rem; }

.text-list-editor-panel { display: grid; gap: 1rem; }
.text-list-editor-panel fieldset { display: grid; gap: 1rem; min-width: 0; padding: 0; border: 0; }
.text-list-editor-panel--disabled { opacity: .75; }
.text-list-form-grid { display: grid; gap: .75rem; grid-template-columns: 1.35fr 1fr 1fr; }
.text-list-form-grid__title { grid-column: span 2; }
.text-list-section-stack { display: grid; gap: .75rem; }
.text-list-compose-section { display: grid; gap: .65rem; padding: .85rem; border: 1px solid rgba(130, 146, 158, .22); background: rgba(4, 11, 15, .28); }
.text-list-compose-section__heading { display: grid; align-items: end; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; }
.text-list-compose-section__heading input { font: 700 .82rem "Oxanium Nexus", sans-serif; color: var(--nexus-cream); }
.text-list-entry-stack { display: grid; gap: .45rem; }
.text-list-entry-form { display: grid; align-items: end; gap: .5rem; grid-template-columns: minmax(170px, 1.4fr) 76px 92px minmax(200px, 1fr) auto; }
.text-list-entry-form .army-compact-icon { margin-bottom: 2px; }
.text-list-notes { margin-top: .25rem; }
.text-list-editor-actions { position: sticky; z-index: 3; bottom: .75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem; border: 1px solid rgba(99, 203, 232, .26); background: rgba(12, 21, 27, .96); box-shadow: 0 12px 30px rgba(0, 0, 0, .34); }
.text-list-editor-actions p, .text-list-editor-actions span { margin: 0; color: var(--nexus-muted); font-size: .66rem; }
.text-list-editor-actions strong { color: var(--nexus-cream); }
.text-list-readonly-banner { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; padding: .75rem 1rem; border: 1px solid rgba(232, 181, 76, .32); background: rgba(102, 73, 18, .12); }
.text-list-readonly-banner span { color: var(--nexus-muted); font-size: .67rem; }

.text-list-import-layout { display: grid; align-items: start; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.text-list-import-source, .text-list-import-preview { display: grid; gap: .8rem; min-height: 620px; }
.text-list-import-source textarea { min-height: 360px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .71rem; line-height: 1.55; }
.text-list-import-meta { display: grid; gap: .65rem; grid-template-columns: 1fr 1.35fr; }
.text-list-preview-placeholder { display: grid; place-content: center; min-height: 430px; border: 1px dashed rgba(130, 146, 158, .3); color: var(--nexus-muted); text-align: center; }
.text-list-preview-placeholder span { color: var(--nexus-cyan-bright); font-size: 2rem; }
.text-list-detection { display: grid; justify-items: start; gap: .2rem; padding: .7rem; border-left: 2px solid var(--nexus-cyan-bright); background: rgba(44, 122, 145, .09); }
.text-list-detection strong { font-size: .72rem; }
.text-list-detection small { color: var(--nexus-muted); }
.text-list-import-warning { padding: .65rem .75rem; border: 1px solid rgba(232, 181, 76, .32); background: rgba(98, 72, 22, .13); color: #e9d6a6; font-size: .67rem; }
.text-list-preview-document { display: grid; gap: .7rem; padding: .9rem; border: 1px solid rgba(130, 146, 158, .24); background: rgba(2, 8, 12, .32); }
.text-list-preview-document h3 { margin: .2rem 0; }
.text-list-preview-document header > p:last-child, .text-list-muted { color: var(--nexus-muted); font-size: .66rem; }
.text-list-preview-document section { padding-top: .6rem; border-top: 1px solid rgba(130, 146, 158, .16); }
.text-list-preview-document h4 { margin: 0 0 .4rem; }
.text-list-preview-document ul { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none; }
.text-list-preview-document li, .text-list-preview-document footer { display: flex; justify-content: space-between; gap: .7rem; font-size: .68rem; }
.text-list-preview-document li strong { color: var(--nexus-gold-bright); }
.text-list-preview-document footer { padding-top: .65rem; border-top: 1px solid rgba(130, 146, 158, .2); }
.text-list-preview-document footer span { color: var(--nexus-muted); }
.text-list-import-details { border: 1px solid rgba(130, 146, 158, .2); }
.text-list-import-details summary { min-height: 44px; padding: .7rem; cursor: pointer; }
.text-list-import-details > :not(summary) { margin-inline: .7rem; color: var(--nexus-muted); font-size: .65rem; }

.text-list-collaboration-grid { display: grid; align-items: start; gap: 1rem; margin-top: 1rem; grid-template-columns: 1fr 1fr; }
.text-list-collaboration-grid > .panel { display: grid; gap: .75rem; }
.text-list-inline-form { display: flex; align-items: end; gap: .55rem; }
.text-list-inline-form .field { flex: 1; }
.text-list-snapshot-list, .text-list-share-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.text-list-snapshot-list li, .text-list-share-list li { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: .7rem; padding: .5rem .65rem; border: 1px solid rgba(130, 146, 158, .18); }
.text-list-snapshot-list li > span:first-child, .text-list-share-list li > span:first-child { display: grid; }
.text-list-snapshot-list small, .text-list-share-list small { color: var(--nexus-muted); font-size: .6rem; }
.text-list-snapshot-list li > span:last-child { color: var(--nexus-cyan-bright); font: .7rem "Oxanium Nexus", sans-serif; }
.text-list-share-form { display: grid; gap: .65rem; grid-template-columns: 1fr 1fr; }
.text-list-share-form .button { grid-column: 1 / -1; }
.text-list-duplicate-panel { display: grid; align-items: end; gap: 1rem; margin-top: 1rem; grid-template-columns: 1fr minmax(300px, .7fr); }
.text-list-duplicate-panel h2 { margin: .2rem 0; }
.text-list-duplicate-panel p { margin: 0; color: var(--nexus-muted); }
.text-list-reader { display: grid; gap: 1rem; max-width: 940px; margin-inline: auto; }
.text-list-reader__facts { display: flex; align-items: center; gap: .7rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(130, 146, 158, .2); }
.text-list-reader__facts small { color: var(--nexus-muted); }
.text-list-reader section > ul { display: grid; gap: .4rem; padding: 0; list-style: none; }
.text-list-reader section > ul > li { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem; border: 1px solid rgba(130, 146, 158, .18); }
.text-list-reader section > ul > li > span { white-space: nowrap; color: var(--nexus-gold-bright); }
.nexus-dialog--wide { width: min(760px, calc(100vw - 2rem)); }
.text-list-export { width: 100%; min-height: 340px; padding: .85rem; border: 1px solid var(--line); border-radius: 3px; background: var(--nexus-black); color: var(--nexus-text); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8rem; line-height: 1.6; resize: vertical; }

.administration-grant-panel { display: grid; gap: .8rem; margin-bottom: 1rem; }
.administration-grant-form { display: grid; gap: .65rem; grid-template-columns: .7fr 1fr 1fr 1fr; }
.administration-grant-form__target { grid-column: span 3; }
.administration-grant-form__target-choice { grid-column: 1 / -1; }
.administration-target-search { display: grid; gap: .45rem; grid-template-columns: minmax(0, 1fr) auto; }
.administration-grant-form__reason { grid-column: 1 / -1; }
.administration-grant-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.administration-grant-actions p { max-width: 70ch; margin: 0; color: var(--nexus-muted); font-size: .66rem; }
.administration-cell-meta { display: block; max-width: 44ch; margin-top: .18rem; color: var(--nexus-muted); font-size: .59rem; overflow-wrap: anywhere; }
.status-pill--active { border-color: rgba(118, 199, 160, .42); color: #aee0c4; }
.status-pill--scheduled { border-color: rgba(99, 203, 232, .42); color: var(--nexus-cyan-bright); }
.status-pill--expired, .status-pill--revoked { opacity: .65; }

@media (max-width: 1120px) {
    .text-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .text-list-entry-form { grid-template-columns: minmax(160px, 1fr) 72px 88px auto; }
    .text-list-entry-form__details { grid-column: 1 / -2; }
    .administration-grant-form { grid-template-columns: 1fr 1fr; }
    .administration-grant-form__target, .administration-grant-form__target-choice, .administration-grant-form__reason { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
    .text-list-import-layout, .text-list-collaboration-grid, .text-list-duplicate-panel { grid-template-columns: 1fr; }
    .text-list-import-source, .text-list-import-preview { min-height: auto; }
    .text-list-form-grid { grid-template-columns: 1fr 1fr; }
    .text-list-form-grid__title { grid-column: 1 / -1; }
    .text-list-entry-form { grid-template-columns: minmax(0, 1fr) 70px 84px auto; }
    .text-list-entry-form__label, .text-list-entry-form__details { grid-column: 1 / -1; }
    .text-list-entry-form .army-compact-icon { grid-column: 4; grid-row: 2; }
    .text-list-editor-actions { bottom: calc(4.8rem + var(--safe-bottom)); }
    .administration-grant-actions { align-items: stretch; flex-direction: column; }
    .administration-grant-actions .button { width: 100%; }
}

@media (max-width: 560px) {
    .text-list-heading { align-items: start; }
    .page-heading__actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
    .page-heading__actions .button { width: 100%; }
    .text-list-grid, .text-list-form-grid, .text-list-import-meta, .text-list-share-form, .administration-grant-form { grid-template-columns: 1fr; }
    .text-list-card { min-height: 230px; }
    .text-list-entry-form { padding-bottom: .7rem; grid-template-columns: 1fr 1fr auto; border-bottom: 1px solid rgba(130, 146, 158, .17); }
    .text-list-entry-form__label, .text-list-entry-form__details { grid-column: 1 / -1; }
    .text-list-entry-form .army-compact-icon { grid-column: 3; grid-row: 2; }
    .text-list-editor-actions { display: grid; grid-template-columns: 1fr; }
    .text-list-editor-actions .button, .text-list-inline-form .button { width: 100%; }
    .text-list-inline-form { align-items: stretch; flex-direction: column; }
    .text-list-readonly-banner { flex-direction: column; }
    .text-list-reader__facts { align-items: flex-start; flex-direction: column; }
    .text-list-reader section > ul > li { flex-direction: column; }
    .text-list-reader section > ul > li > span { align-self: flex-end; }
    .administration-grant-form__target, .administration-grant-form__target-choice, .administration-grant-form__reason { grid-column: 1; }
    .administration-target-search { grid-template-columns: 1fr; }
    .administration-mobile-nav { grid-template-columns: repeat(6, minmax(82px, 1fr)); }
}

@media (forced-colors: active) {
    .text-list-card, .text-list-empty, .text-list-compose-section, .text-list-preview-document, .text-list-reader,
    .text-list-snapshot-list li, .text-list-share-list li, .text-list-readonly-banner { border: 1px solid CanvasText; }
}

/* Army Builder: account-owned persistent roster flow */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.field__control select,
.army-unit-card select,
.army-catalogue-tools input {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: .7rem .85rem;
    border: 1px solid #63737e;
    border-radius: 3px;
    outline: 0;
    background: #090f13;
    color: var(--nexus-text);
}

.field__control select:focus,
.army-unit-card select:focus,
.army-catalogue-tools input:focus {
    border-color: var(--nexus-cyan);
    box-shadow: 0 0 0 3px rgba(102, 188, 233, .12);
}

.field__control select:disabled {
    border-color: rgba(99, 115, 126, .48);
    background: rgba(9, 15, 19, .58);
    color: #71808a;
    cursor: not-allowed;
    opacity: .78;
}

.save-indicator {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--nexus-muted);
    font-size: .74rem;
    letter-spacing: .04em;
}

.save-indicator::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    content: "";
    background: var(--nexus-success);
    box-shadow: 0 0 12px rgba(118, 199, 160, .45);
}

.save-indicator--busy::before {
    background: var(--nexus-gold-bright);
    box-shadow: 0 0 12px rgba(227, 199, 111, .45);
    animation: loading-pulse 1.2s infinite;
}

.status-banner--error {
    border-color: rgba(228, 121, 121, .38);
    background: rgba(148, 42, 42, .14);
    color: #f3b5b5;
}

.army-launch-heading { align-items: center; }

.army-launch-grid {
    display: grid;
    align-items: stretch;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1.55fr) minmax(290px, .7fr);
}

.army-create-panel { padding: clamp(1.25rem, 3vw, 2rem); }

.army-form-grid,
.custom-profile-fields {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.custom-profile-fields {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(102, 188, 233, .22);
    background: rgba(32, 62, 82, .16);
}

.army-create-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1.4rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(130, 146, 158, .18);
}

.army-create-footer p {
    max-width: 34rem;
    margin: 0;
    color: var(--nexus-muted-soft);
    font-size: .78rem;
}

.army-launch-aside {
    padding: clamp(1.35rem, 3vw, 2rem);
    border: 1px solid rgba(130, 146, 158, .35);
    border-radius: 5px;
    background: linear-gradient(145deg, rgba(32, 62, 82, .34), rgba(12, 18, 23, .96));
    box-shadow: 0 18px 50px rgba(0, 0, 0, .25);
}

.army-launch-aside h2 { max-width: 18ch; }

.army-flow-preview {
    display: grid;
    gap: .25rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.army-flow-preview li {
    display: grid;
    gap: .1rem .7rem;
    min-height: 62px;
    padding: .6rem 0;
    grid-template-columns: 34px minmax(0, 1fr);
    border-bottom: 1px solid rgba(130, 146, 158, .15);
}

.army-flow-preview li > span {
    display: grid;
    width: 28px;
    height: 28px;
    grid-row: 1 / 3;
    place-items: center;
    border: 1px solid var(--nexus-cyan-deep);
    border-radius: 50%;
    color: var(--nexus-cyan-bright);
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .72rem;
}

.army-flow-preview strong { font-family: "Oxanium Nexus", sans-serif; font-size: .84rem; }
.army-flow-preview small { color: var(--nexus-muted-soft); font-size: .72rem; }
.army-roster-library { margin-top: 3rem; }

.army-library-empty {
    display: flex;
    min-height: 120px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px dashed rgba(130, 146, 158, .35);
    color: var(--nexus-muted);
    text-align: center;
}

.army-library-empty strong { color: var(--nexus-text-warm); }
.army-library-empty span { font-size: .8rem; }

.army-roster-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.army-roster-card {
    position: relative;
    display: flex;
    min-height: 190px;
    flex-direction: column;
    padding: 0;
    border: 1px solid rgba(130, 146, 158, .38);
    border-radius: 4px;
    background: linear-gradient(145deg, rgba(32, 42, 50, .74), rgba(12, 18, 23, .94));
    transition: border-color 140ms ease, transform 120ms ease;
}

.army-roster-card:hover { border-color: var(--nexus-gold-dark); transform: translateY(-2px); }
.army-roster-card__link { display: flex; min-height: 188px; flex: 1; flex-direction: column; padding: 1.2rem; color: inherit; }
.army-roster-card__delete { position: absolute; z-index: 1; top: .75rem; right: .75rem; color: #efaaaa; }
.army-roster-card__delete img { filter: invert(72%) sepia(26%) saturate(718%) hue-rotate(310deg) brightness(104%) contrast(87%); }
.army-roster-card__state { color: var(--nexus-success); font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; }
.army-roster-card h3 { margin: 1.2rem 0 .25rem; font-size: 1.25rem; }
.army-roster-card p { color: var(--nexus-muted); font-size: .8rem; }
.army-roster-card footer { display: flex; justify-content: space-between; margin-top: auto; padding-top: .8rem; border-top: 1px solid rgba(130, 146, 158, .16); color: var(--nexus-muted-soft); font-size: .72rem; }
.army-roster-card footer span:last-child { color: var(--nexus-gold-bright); }

.nexus-dialog-backdrop { position: fixed; z-index: 80; display: grid; padding: 1rem; inset: 0; place-items: center; background: rgba(1, 5, 8, .78); backdrop-filter: blur(4px); }
.nexus-dialog { width: min(440px, 100%); padding: 1.1rem; border: 1px solid rgba(228, 121, 121, .5); border-radius: 5px; background: #151e24; box-shadow: 0 24px 80px rgba(0, 0, 0, .65); }
dialog.nexus-dialog { width: min(760px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; color: var(--nexus-text); border-color: var(--nexus-steel); }
dialog.nexus-dialog::backdrop { background: rgba(1, 5, 8, .78); backdrop-filter: blur(4px); }
.nexus-dialog h2 { margin: .25rem 0 .55rem; font-size: 1.15rem; }
.nexus-dialog > p:not(.kicker) { margin: 0; color: var(--nexus-muted); font-size: .78rem; }
.nexus-dialog__actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }

.army-builder-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: -1.4rem;
    border: 1px solid rgba(130, 146, 158, .42);
    border-radius: 8px;
    overflow: clip;
    background:
        linear-gradient(rgba(102, 188, 233, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(102, 188, 233, .025) 1px, transparent 1px),
        #070c10;
    background-size: 42px 42px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .38);
}

.army-builder-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 76px;
    padding: .65rem .85rem;
    border-bottom: 1px solid rgba(130, 146, 158, .22);
    background: rgba(8, 14, 18, .94);
}

.army-builder-title { display: flex; flex: 1; align-items: center; gap: .9rem; min-width: 0; }
.army-builder-title > div { min-width: 0; }
.army-builder-title > a { color: var(--nexus-cyan-bright); font-size: .72rem; }
.army-builder-title > span { width: 1px; height: 42px; background: rgba(130, 146, 158, .25); }
.army-builder-title p { margin: 0; color: var(--nexus-muted-soft); font-family: "Oxanium Nexus", sans-serif; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.army-builder-title h1 { overflow: hidden; max-width: 28rem; margin: .1rem 0 0; font-size: 1.35rem; text-overflow: ellipsis; white-space: nowrap; }

.army-toolbar-facts { display: flex; flex-shrink: 0; align-items: stretch; gap: .55rem; }
.army-toolbar-facts > div { display: grid; min-width: 150px; padding: .5rem .75rem; border: 1px solid rgba(130, 146, 158, .24); border-radius: 3px; background: rgba(22, 29, 35, .62); }
.army-toolbar-facts > div > span { color: var(--nexus-muted-soft); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.army-toolbar-facts strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.army-toolbar-facts small { color: var(--nexus-muted-soft); font-size: .65rem; }
.army-toolbar-facts .save-indicator { min-width: 118px; align-content: center; grid-template-columns: auto 1fr; }
.army-toolbar-facts .save-indicator::before { grid-row: 1 / 3; }

.army-flow-nav {
    display: grid;
    padding: .6rem clamp(.75rem, 4vw, 3.5rem) 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid rgba(130, 146, 158, .22);
    background: rgba(9, 15, 20, .86);
}

.army-flow-step {
    position: relative;
    display: grid;
    justify-items: center;
    gap: .25rem;
    min-height: 62px;
    padding: 0 .3rem .65rem;
    background: transparent;
    color: var(--nexus-muted-soft);
    cursor: pointer;
}

.army-flow-step::before {
    position: absolute;
    z-index: 0;
    top: 14px;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background: rgba(130, 146, 158, .4);
}

.army-flow-step:first-child::before { left: 50%; width: 50%; }
.army-flow-step:last-child::before { width: 50%; }

.army-flow-step > span {
    z-index: 1;
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border: 1px solid #536571;
    border-radius: 50%;
    background: #091016;
    color: #9babb6;
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .68rem;
}

.army-flow-step strong { font-size: .72rem; font-weight: 600; }
.army-flow-step.is-active { color: var(--nexus-text-warm); }
.army-flow-step.is-active::after { position: absolute; right: 15%; bottom: 0; left: 15%; height: 2px; content: ""; background: var(--nexus-gold-bright); box-shadow: 0 0 14px rgba(227, 199, 111, .3); }
.army-flow-step.is-active > span { border-color: var(--nexus-gold-bright); color: var(--nexus-gold-bright); }

.army-inline-message { padding: .65rem 1rem; border-bottom: 1px solid rgba(102, 188, 233, .28); background: rgba(32, 62, 82, .3); color: #c6e8fa; font-size: .76rem; }
.army-inline-message--error { display: flex; gap: .65rem; border-color: rgba(228, 121, 121, .35); background: rgba(140, 42, 42, .2); color: #f2b2b2; }
.army-export-dialog { width: min(760px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 1rem; border: 1px solid var(--nexus-gold-dark); border-radius: 5px; background: #151e24; color: var(--nexus-text); overflow: auto; }
.army-export-dialog::backdrop { background: rgba(1, 5, 8, .8); }
.army-export-dialog > header, .army-export-dialog > footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.army-export-dialog h2 { margin: 0; font-size: 1.15rem; }
.army-export-dialog form { margin: 0; }
.army-export-dialog textarea { width: 100%; min-height: 160px; max-height: 50dvh; padding: .65rem; resize: vertical; border: 1px solid var(--nexus-steel-dark); background: #0b1319; color: var(--nexus-text); font: .8rem/1.5 ui-monospace, monospace; }
.army-export-formats { display: flex; gap: .5rem; margin: .75rem 0; }
.army-export-formats [aria-pressed="true"] { border-color: var(--nexus-gold); color: var(--nexus-gold-bright); }
.army-export-dialog > footer { justify-content: flex-end; }
.army-export-feedback { min-height: 1.5em; color: var(--nexus-muted); font-size: .8rem; }
.army-export-dialog button, .army-roster-export-button { min-height: 44px; }

.army-stage {
    display: grid;
    min-height: 620px;
    grid-template-columns: minmax(0, 1fr) 340px;
}

.army-stage-main { min-width: 0; padding: .75rem; }
@media (min-width: 721px) {
    .army-stage.army-stage--units { height: var(--army-stage-height, calc(100dvh - 200px)); min-height: 360px; grid-template-columns: minmax(0, 1fr) clamp(250px, 23vw, 340px); }
    .army-stage--units > .army-unit-catalogue { display: grid; min-height: 0; padding: 0; grid-template: minmax(0, 1fr) / minmax(0, 1fr); overflow: hidden; }
    .army-stage--units .army-catalogue-content,
    .army-stage--units .army-unit-editor { min-height: 0; margin: 0; padding: .75rem; grid-area: 1 / 1; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
    .army-stage--units .army-unit-editor { z-index: 1; border: 0; border-radius: 0; box-shadow: none; }
    .army-stage--units > .army-roster-summary { display: flex; min-height: 0; flex-direction: column; border-top: 0; border-left: 1px solid rgba(130, 146, 158, .26); overflow: auto; }
    .army-stage--units .army-roster-summary > * { flex-shrink: 0; }
    .army-stage--units .army-roster-summary > .army-summary-roster-entries { display: flex; min-height: 100px; flex: 1 1 auto; flex-direction: column; }
    .army-stage--units .army-summary-units { min-height: 0; max-height: none; flex: 1; align-content: start; overscroll-behavior: contain; }
    .army-stage--units .army-roster-enhancements { max-height: 25%; overflow: auto; }
}
.army-stage-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.25rem; margin-bottom: .8rem; padding: .35rem .1rem .65rem; border-bottom: 1px solid rgba(130, 146, 158, .18); }
.army-stage-heading h2 { margin: 0; }
.army-stage-heading p:last-child { max-width: 36rem; margin: 0; color: var(--nexus-muted); font-size: .8rem; text-align: right; }

.army-roster-summary {
    min-width: 0;
    padding: .75rem;
    border-left: 1px solid rgba(130, 146, 158, .26);
    background: rgba(15, 22, 27, .9);
}

.army-roster-summary > header { display: flex; justify-content: space-between; padding: .15rem 0 .7rem; border-bottom: 1px solid rgba(130, 146, 158, .18); font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; text-transform: uppercase; }
.army-roster-summary > header small { color: var(--nexus-muted-soft); }
.army-score-grid { display: grid; gap: .55rem; padding: .8rem 0 .65rem; grid-template-columns: 1fr 1fr; }
.army-score-grid > div { display: grid; }
.army-score-grid strong { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: 1.5rem; }
.army-score-grid span { color: var(--nexus-muted-soft); font-size: .68rem; }
.army-progress { height: 7px; overflow: hidden; border-radius: 4px; background: #27323a; }
.army-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--nexus-gold), var(--nexus-gold-bright)); }
.army-summary-status { display: grid; gap: .25rem; margin: .7rem 0; padding: .6rem 0; border-block: 1px solid rgba(130, 146, 158, .16); }
.army-summary-status > span { font-size: .76rem; font-weight: 600; }
.army-summary-status small { color: var(--nexus-muted-soft); font-size: .7rem; }
.is-valid { color: var(--nexus-success) !important; }
.is-invalid { color: var(--nexus-warning) !important; }
.is-unavailable { color: var(--nexus-muted) !important; }
.army-summary-section-title { display: flex; justify-content: space-between; margin-bottom: .65rem; color: var(--nexus-muted); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.army-summary-section-title strong { color: var(--nexus-gold-bright); }
.army-summary-units { display: grid; gap: .25rem; max-height: 310px; margin-bottom: .7rem; overflow-y: auto; }
.army-summary-unit { display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid rgba(130, 146, 158, .2); border-radius: 3px; overflow: hidden; background: #141c22; }
.army-summary-unit.is-selected { border-color: var(--nexus-gold-dark); background: rgba(47, 42, 26, .45); }
.army-summary-unit__main { display: flex; align-items: center; justify-content: space-between; gap: .55rem; min-width: 0; padding: .5rem .55rem; border: 0; background: transparent; color: var(--nexus-text); text-align: left; cursor: pointer; }
.army-summary-unit__main > span:first-child { display: grid; min-width: 0; }
.army-summary-unit__actions { display: flex; }
.army-summary-unit__actions > .army-compact-icon { width: 34px; min-width: 34px; height: auto; min-height: 34px; border-width: 0 0 0 1px; border-radius: 0; }
.army-summary-unit__actions > .army-summary-unit__attachment.is-active { background: rgba(75, 61, 27, .55); }
.army-summary-units strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.army-summary-units small { overflow: hidden; color: var(--nexus-muted-soft); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.army-empty-copy { margin: .8rem 0; color: var(--nexus-muted-soft); font-size: .78rem; }

.rule-profile-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rule-profile-card { display: grid; min-height: 150px; padding: 1rem; border: 1px solid rgba(130, 146, 158, .32); border-radius: 4px; background: rgba(22, 29, 35, .78); color: var(--nexus-text); text-align: left; cursor: pointer; }
.rule-profile-card:hover { border-color: var(--nexus-steel); }
.rule-profile-card.is-selected { border-color: var(--nexus-gold); background: linear-gradient(145deg, rgba(65, 53, 26, .35), rgba(24, 35, 42, .88)); box-shadow: inset 3px 0 var(--nexus-gold-bright); }
.rule-profile-card > span { color: var(--nexus-muted-soft); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
.rule-profile-card strong { margin-top: .45rem; font-family: "Oxanium Nexus", sans-serif; font-size: 1rem; }
.rule-profile-card small { color: var(--nexus-muted); }
.rule-profile-card em { align-self: end; margin-top: .7rem; color: var(--nexus-cyan-bright); font-size: .66rem; font-style: normal; }
.custom-profile-editor { display: grid; align-items: end; gap: 1rem; margin-top: 1rem; padding: 1rem; grid-template-columns: 1fr 1fr auto; border: 1px solid rgba(102, 188, 233, .25); background: rgba(32, 62, 82, .18); }
.army-context-subfaction { display: grid; align-items: end; gap: .75rem; margin-top: .75rem; padding: .75rem; grid-template-columns: minmax(0, 1fr) minmax(230px, .7fr); border: 1px solid rgba(102, 188, 233, .25); background: rgba(32, 62, 82, .14); }
.army-context-subfaction h3 { margin: .08rem 0 .2rem; font-size: .9rem; }
.army-context-subfaction p:not(.kicker) { margin: 0; color: var(--nexus-muted); font-size: .7rem; }
.army-change-impact { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; margin-top: .55rem; padding: .7rem; border: 1px solid rgba(227, 199, 111, .5); background: rgba(82, 66, 28, .22); }
.army-change-impact p { margin: .2rem 0 0; color: var(--nexus-muted); font-size: .7rem; }
.army-change-impact ul { margin: .35rem 0 0; padding-left: 1.1rem; color: var(--nexus-muted-soft); font-size: .66rem; }
.army-change-impact__actions { display: flex; flex: 0 0 auto; gap: .4rem; }

.detachment-columns { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.detachment-columns h3 { margin-bottom: .7rem; font-size: .85rem; }
.detachment-list { display: grid; gap: .55rem; }
.detachment-card { display: grid; align-items: center; gap: .75rem; min-height: 82px; padding: .8rem; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid rgba(130, 146, 158, .28); border-radius: 3px; background: rgba(22, 29, 35, .78); }
.detachment-card.is-selected { border-left: 3px solid var(--nexus-gold); }
.detachment-card > div { display: grid; }
.detachment-card strong { font-size: .82rem; }
.detachment-card small { color: var(--nexus-muted-soft); font-size: .66rem; }
.detachment-card > span { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; }
.detachment-card button { grid-column: 1 / -1; min-height: 34px; border: 1px solid var(--nexus-steel-dark); border-radius: 2px; background: #0d151b; color: var(--nexus-text); font-size: .7rem; cursor: pointer; }
.army-force-disposition { max-width: 480px; margin-top: 1.2rem; }

.army-mobile-roster, .army-mobile-catalogue-header { display: none; }
.army-catalogue-content { min-width: 0; }
.army-catalogue-tools { display: flex; align-items: center; gap: .5rem; padding: .4rem; border: 1px solid rgba(130, 146, 158, .24); background: rgba(15, 22, 27, .88); }
.army-stage--unit-open .army-catalogue-content { visibility: hidden; }
.army-catalogue-tools > label { flex: 1 1 260px; }
.army-catalogue-tools input { min-height: 38px; }
.army-filter-stack { display: grid; min-width: 0; gap: .3rem; }
.army-filter-row { display: flex; flex-wrap: wrap; gap: .35rem; }
.army-filter-row button { min-height: 34px; padding: .28rem .55rem; border: 1px solid transparent; border-radius: 3px; background: #202a32; color: var(--nexus-muted); font-size: .68rem; cursor: pointer; }
.army-filter-row button.is-active { border-color: var(--nexus-gold-dark); background: #354047; color: var(--nexus-text-warm); }
.army-filter-row--toggles { gap: .3rem; }
.army-filter-toggle { display: inline-flex; align-items: center; gap: .3rem; }
.army-filter-toggle > span:first-child { width: .8rem; color: currentColor; font-weight: 700; text-align: center; }
.army-filter-row .army-filter-toggle--allies.is-active { border-color: rgba(102, 188, 233, .74); background: rgba(32, 82, 109, .62); color: #d0efff; }
.army-filter-row .army-filter-toggle--legends.is-active { border-color: rgba(190, 143, 225, .72); background: rgba(91, 51, 119, .54); color: #f0d9ff; }
.army-catalogue-heading { display: flex; align-items: flex-end; justify-content: space-between; margin: .7rem 0 .45rem; }
.army-catalogue-heading h2 { margin: 0; font-size: 1rem; }
.army-catalogue-heading > span { color: var(--nexus-muted-soft); font-size: .68rem; }
.army-unit-grid { display: grid; gap: .3rem; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); }
.army-unit-card { display: flex; min-height: 84px; flex-direction: column; padding: .5rem; border: 1px solid rgba(130, 146, 158, .3); border-radius: 3px; background: linear-gradient(150deg, #1d2830, #141c22); }
.army-unit-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; }
.army-unit-card h3 { margin: 0 0 .25rem; font-size: .76rem; line-height: 1.15; }
.army-unit-card header > small { flex: 0 0 auto; color: var(--nexus-cyan-bright); font-size: .58rem; }
.army-tag-row { display: flex; flex-wrap: wrap; gap: .25rem; }
.army-tag-row span { padding: .12rem .3rem; border: 1px solid rgba(102, 188, 233, .22); border-radius: 2px; background: rgba(32, 62, 82, .38); color: #c0e6f9; font-size: .56rem; }
.army-tag-row span.is-special { border-color: rgba(227, 199, 111, .38); background: rgba(82, 66, 28, .32); color: var(--nexus-gold-bright); }
.army-tag-row span.is-legends { border-color: rgba(190, 143, 225, .38); background: rgba(91, 51, 119, .28); color: #dcbcf3; }
.army-tag-row span.is-unit-type { border-color: rgba(130, 146, 158, .34); background: rgba(55, 67, 76, .48); color: #d2dce2; }
.army-unit-card > label { display: grid; gap: .2rem; margin-top: .45rem; color: var(--nexus-muted-soft); font-size: .62rem; }
.army-unit-card select { min-height: 36px; padding: .3rem .45rem; font-size: .68rem; }
.army-unit-card__addition { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; margin-top: auto; padding-top: .35rem; }
.army-unit-card__points { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .76rem; white-space: nowrap; }

.army-compact-icon {
    display: grid;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    flex: 0 0 auto;
    place-items: center;
    padding: 0;
    border: 1px solid var(--nexus-steel-dark);
    border-radius: 3px;
    background: #111b21;
    color: var(--nexus-gold-bright);
    cursor: pointer;
}
.army-compact-icon img { display: block; width: 16px; height: 16px; filter: invert(88%) sepia(25%) saturate(870%) hue-rotate(358deg) brightness(99%) contrast(82%); }
.army-compact-icon:hover { border-color: var(--nexus-gold); background: #283038; }
.army-compact-icon:focus-visible { outline: 2px solid var(--nexus-cyan-bright); outline-offset: 2px; }
.army-compact-icon:disabled { opacity: .45; cursor: wait; }
.army-enhancement-shortcut > span { color: var(--nexus-gold-bright); font-size: 1rem; line-height: 1; }
.army-enhancement-shortcut.is-active { background: rgba(75, 61, 27, .55); }
.army-unit-card__add { width: 36px; padding: 0; }
.detachment-card .detachment-card__add { width: 36px; min-width: 36px; min-height: 36px; justify-self: end; padding: 0; }

.army-unit-editor { margin: .55rem 0 .7rem; padding: .75rem; border: 1px solid var(--nexus-gold); border-radius: 4px; background: linear-gradient(145deg, rgba(34, 44, 51, .98), rgba(14, 22, 28, .98)); box-shadow: 0 14px 42px rgba(0, 0, 0, .42), inset 3px 0 var(--nexus-gold-bright); }
.army-unit-editor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; padding-bottom: .6rem; border-bottom: 1px solid rgba(130, 146, 158, .2); }
.army-unit-editor h2 { margin: 0; font-size: 1.25rem; }
.army-unit-editor header div > span { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .85rem; }
.army-unit-editor__status { margin: .55rem 0; color: var(--nexus-muted); font-size: .74rem; }
.army-unit-tabs { position: sticky; z-index: 3; top: -.75rem; display: grid; margin: 0 -.75rem .65rem; padding: .45rem .75rem; grid-template-columns: 1fr 1fr auto; border-bottom: 1px solid rgba(130, 146, 158, .24); background: #111a20; }
.army-unit-tabs button { min-height: 44px; border: 1px solid rgba(130, 146, 158, .28); background: #172128; color: var(--nexus-muted); font-size: .8rem; font-weight: 600; cursor: pointer; }
.army-unit-tabs button.is-active { border-color: var(--nexus-gold); background: rgba(79, 64, 30, .52); color: var(--nexus-text-warm); }
.army-unit-tabs > .army-unit-editor__close { width: 44px; min-width: 44px; height: 44px; margin-left: .35rem; padding: 0; }
.army-unit-workbench { min-width: 0; container: army-unit / inline-size; }
.army-unit-configuration { gap: .65rem; min-width: 0; }
.army-unit-configuration, .army-unit-datasheet-panel { display: none; }
.army-unit-configuration.is-active { display: grid; }
.army-unit-datasheet-panel.is-active { display: block; }
.army-unit-decision { padding: .8rem; border: 1px solid rgba(130, 146, 158, .24); border-radius: 3px; background: rgba(11, 18, 23, .72); }
.army-unit-decision--warlord { border-color: rgba(227, 199, 111, .42); background: linear-gradient(145deg, rgba(82, 66, 28, .23), rgba(11, 18, 23, .82)); }
.army-unit-decision__heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .65rem; }
.army-unit-decision__heading > div { display: grid; }
.army-unit-decision__heading span { color: var(--nexus-muted-soft); font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; }
.army-unit-decision__heading h3 { margin: .08rem 0 0; font-size: .82rem; }
.army-unit-decision__heading > button { min-height: 36px; padding: .3rem .55rem; border: 1px solid var(--nexus-gold-dark); border-radius: 2px; background: rgba(39, 48, 54, .82); color: var(--nexus-text); font-size: .62rem; cursor: pointer; }
.army-unit-decision__heading > button.is-selected { background: rgba(103, 82, 32, .45); color: var(--nexus-gold-bright); }
.army-unit-decision__heading > .army-compact-icon { width: 36px; min-width: 36px; height: 36px; padding: 0; }
.army-unit-decision > p, .army-unit-choice-group > small { margin: .25rem 0 0; color: var(--nexus-muted); font-size: .68rem; }
.army-unit-choice-group { display: grid; gap: .45rem; }
.army-unit-choice-group + .army-unit-choice-group { margin-top: .7rem; padding-top: .7rem; border-top: 1px solid rgba(130, 146, 158, .16); }
.army-unit-choice-group > strong { font-size: .7rem; }
.army-choice-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.army-choice-chips button { min-height: 36px; padding: .28rem .55rem; border: 1px solid rgba(130, 146, 158, .34); border-radius: 2px; background: #162027; color: var(--nexus-muted); font-size: .64rem; cursor: pointer; }
.army-choice-chips button.is-selected { border-color: var(--nexus-gold); background: rgba(75, 61, 27, .55); color: var(--nexus-text-warm); }
.army-attachment-targets { display: grid; gap: .35rem; margin-top: .65rem; }
.army-attachment-targets button { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 44px; padding: .45rem .55rem; border: 1px solid rgba(130, 146, 158, .27); border-radius: 2px; background: #141d23; color: var(--nexus-text); text-align: left; cursor: pointer; }
.army-attachment-targets button:disabled { opacity: .55; cursor: not-allowed; }
.army-attachment-targets button > span:first-child { display: grid; }
.army-attachment-targets strong { font-size: .68rem; }
.army-attachment-targets small, .army-attachment-targets button > span:last-child { color: var(--nexus-muted-soft); font-size: .6rem; }
.army-attachment-capabilities { display: grid; gap: .25rem; margin-top: .5rem; padding: .5rem; border-left: 2px solid var(--nexus-cyan-deep); background: rgba(32, 62, 82, .14); }
.army-attachment-capabilities small { color: var(--nexus-muted); font-size: .62rem; line-height: 1.45; }
.army-inline-action-icon { width: 16px; height: 16px; filter: invert(88%) sepia(25%) saturate(870%) hue-rotate(358deg) brightness(99%) contrast(82%); }
.army-enhancement-grid { display: grid; gap: .45rem; }
.army-enhancement-grid article { padding: .65rem; border: 1px solid rgba(130, 146, 158, .25); border-radius: 3px; background: #141d23; }
.army-enhancement-grid article.is-selected { border-color: var(--nexus-gold); box-shadow: inset 2px 0 var(--nexus-gold-bright); }
.army-enhancement-grid article.is-unavailable { opacity: .6; }
.army-enhancement-grid header, .army-enhancement-grid footer { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.army-enhancement-grid header strong { font-size: .72rem; }
.army-enhancement-grid header span { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .62rem; }
.army-enhancement-grid article > small { color: var(--nexus-cyan-bright); font-size: .58rem; }
.army-enhancement-grid p { display: -webkit-box; overflow: hidden; margin: .45rem 0; color: var(--nexus-muted); font-size: .64rem; white-space: pre-line; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.army-enhancement-grid footer span { color: var(--nexus-muted-soft); font-size: .58rem; }
.army-enhancement-grid footer button { min-height: 36px; padding: .25rem .5rem; border: 1px solid var(--nexus-steel-dark); border-radius: 2px; background: #0b1319; color: var(--nexus-text); font-size: .6rem; cursor: pointer; }
.army-enhancement-grid footer > .army-enhancement-action { width: 36px; min-width: 36px; padding: 0; }
.army-unit-loadout-groups { display: grid; gap: .8rem; }
.army-unit-loadout-group { display: grid; gap: .45rem; min-width: 0; }
.army-unit-loadout-group__heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: .28rem .65rem; margin: 0; color: var(--nexus-cyan-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .7rem; font-weight: 600; overflow-wrap: anywhere; }
.army-unit-loadout-group__heading::after { flex-basis: 100%; height: 1px; content: ""; background: linear-gradient(90deg, rgba(102, 188, 233, .46), rgba(102, 188, 233, .06)); }
.army-unit-loadout-group__count { color: var(--nexus-muted); font-size: .65rem; font-weight: 400; }
.army-unit-editor__fields { display: grid; gap: .5rem .55rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.army-unit-loadout-group .field { gap: .28rem; }
.army-unit-loadout-group .field__label { font-size: .72rem; }
.army-unit-loadout-group .field__control select { min-height: 42px; padding: .4rem 2rem .4rem .62rem; }
.army-unit-editor__fields .field > small { color: var(--nexus-muted-soft); font-size: .65rem; }
.army-unit-editor__actions { display: grid; gap: .55rem; padding-top: .15rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.army-unit-editor__actions .button { min-width: 0; padding-inline: .35rem; }

.army-unit-datasheet-panel { min-width: 0; container: army-sheet / inline-size; }
.army-datasheet--mobile { display: none; }
.army-datasheet { overflow: hidden; border: 1px solid #a78945; border-radius: 3px; background: #e4e3d8; color: #17252e; box-shadow: 0 12px 34px rgba(0, 0, 0, .28); }
.army-datasheet__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .75rem .85rem; border-bottom: 3px solid #ba9a50; background: linear-gradient(110deg, #354957, #574738); color: #fff7df; }
.army-datasheet__header p { margin: 0; color: #d5c79e; font-size: .6rem; letter-spacing: .13em; text-transform: uppercase; }
.army-datasheet__header h3 { margin: .1rem 0 0; color: #fffaf0; font-family: "Oxanium Nexus", sans-serif; font-size: 1.05rem; }
.army-datasheet__header > strong { color: #f0c95f; font-family: "Oxanium Nexus", sans-serif; font-size: .95rem; white-space: nowrap; }
.army-datasheet__models { display: grid; gap: .35rem; padding: .45rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border-bottom: 1px solid #b8b4a6; background: #d4d3c8; }
.army-datasheet__models article { display: grid; gap: .35rem; padding: .45rem; border: 1px solid #aaa89d; background: rgba(255, 255, 255, .34); }
.army-datasheet__model-name { display: flex; justify-content: space-between; gap: .6rem; font-size: .72rem; }
.army-datasheet__model-name span { color: #6a5b3b; }
.army-datasheet__stats { display: grid; gap: .25rem; grid-template-columns: repeat(auto-fit, minmax(35px, 1fr)); }
.army-datasheet__stats > span { display: grid; place-items: center; min-height: 42px; border: 1px solid #9d9276; background: #f6f1df; }
.army-datasheet__stats small { color: #75694f; font-size: .54rem; font-weight: 700; }
.army-datasheet__stats strong { font-family: "Oxanium Nexus", sans-serif; font-size: .8rem; }
.army-datasheet__body { display: grid; align-items: start; grid-template-columns: minmax(0, 1.55fr) minmax(210px, .8fr); }
.army-datasheet__primary, .army-datasheet__secondary { min-width: 0; padding: .45rem; }
.army-datasheet__secondary { border-left: 1px solid #b8b4a6; background: rgba(196, 195, 185, .5); }
.army-datasheet__section + .army-datasheet__section { margin-top: .45rem; }
.army-datasheet__section h4 { margin: 0 0 .25rem; padding: .22rem .4rem; background: linear-gradient(105deg, #344957, #554738); color: #f3d779; font-family: "Oxanium Nexus", sans-serif; font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; }
.army-datasheet__empty { margin: .35rem .25rem; color: #746f63; font-size: .65rem; }
.army-datasheet__weapon-table { overflow-x: auto; border: 1px solid #b6b2a6; }
.army-datasheet__weapon-heading, .army-datasheet__weapon-table article { display: grid; align-items: center; min-width: 560px; grid-template-columns: minmax(170px, 1fr) repeat(6, 48px); }
.army-datasheet__weapon-heading { background: #c5cbc9; color: #4c5e65; font-size: .56rem; font-weight: 700; text-transform: uppercase; }
.army-datasheet__weapon-heading span, .army-datasheet__weapon-table article > span { padding: .28rem .2rem; text-align: center; }
.army-datasheet__weapon-heading span:first-child { text-align: left; }
.army-datasheet__weapon-table article { border-top: 1px solid #c1beb4; background: rgba(255, 255, 255, .23); font-size: .64rem; }
.army-datasheet__weapon-table article.is-unselected { opacity: .55; }
.army-datasheet__weapon-table article > div { display: grid; min-width: 0; padding: .35rem .4rem; }
.army-datasheet__weapon-table article strong { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.army-datasheet__weapon-table article small { overflow: hidden; color: #6e613e; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.army-datasheet__composition { display: grid; gap: .2rem; }
.army-datasheet__composition article, .army-datasheet__relationship { display: grid; gap: .1rem; padding: .35rem .4rem; border-bottom: 1px solid #c1beb4; font-size: .64rem; }
.army-datasheet__composition span, .army-datasheet__relationship span { color: #67655e; }
.army-datasheet__abilities { display: grid; gap: .3rem; }
.army-datasheet__abilities article { padding: .35rem .4rem; border-bottom: 1px solid #b9b5a9; }
.army-datasheet__abilities strong { display: block; font-size: .68rem; }
.army-datasheet__abilities small { color: #75643f; font-size: .54rem; text-transform: uppercase; }
.army-datasheet__abilities p { margin: .25rem 0 0; color: #4e514e; font-size: .62rem; line-height: 1.4; white-space: pre-line; }
.army-datasheet__limits { margin-top: .45rem; padding: .4rem; border: 1px solid #b9a264; font-size: .55rem; }
.army-datasheet__limits p { margin: .25rem 0 0; }
.army-datasheet__keywords { display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding: .45rem .65rem; border-top: 2px solid #ba9a50; background: linear-gradient(100deg, #344957, #544538); color: #f8f2df; }
.army-datasheet__keywords > div { display: grid; gap: .05rem; }
.army-datasheet__keywords strong { color: #f0c95f; font-size: .52rem; letter-spacing: .08em; text-transform: uppercase; }
.army-datasheet__keywords span { font-size: .6rem; }

.review-status { display: grid; gap: .25rem; padding: 1rem; border: 1px solid rgba(130, 146, 158, .3); background: rgba(22, 29, 35, .8); }
.review-status > span { font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.review-status strong { color: var(--nexus-text-warm); }
.review-unit-list { display: grid; gap: .4rem; margin-top: 1rem; }
.review-unit-list button { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 62px; padding: .65rem .8rem; border: 1px solid rgba(130, 146, 158, .24); background: rgba(22, 29, 35, .7); color: var(--nexus-text); text-align: left; cursor: pointer; }
.review-unit-list button > span:first-child { display: grid; }
.review-unit-list small { color: var(--nexus-muted-soft); font-size: .66rem; }
.review-unit-list button > span:last-child { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .74rem; }
.review-issues { margin: 1rem 0; padding-left: 1.2rem; color: var(--nexus-text-warm); font-size: .84rem; overflow-wrap: anywhere; }
.review-issues li + li { margin-top: .65rem; }

@media (max-width: 1250px) {
    .army-unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .army-toolbar-facts > div { min-width: 125px; }
}

@container army-unit (max-width: 550px) {
    .army-unit-editor__fields { grid-template-columns: 1fr; }
}

@container army-sheet (max-width: 900px) {
    .army-datasheet__body { grid-template-columns: minmax(0, 1fr); }
    .army-datasheet__secondary { border-left: 0; border-top: 1px solid #b8b4a6; }
}

@container army-sheet (max-width: 560px) {
    .army-datasheet__weapon-heading, .army-datasheet__weapon-table article { min-width: 0; grid-template-columns: minmax(120px, 1fr) repeat(6, minmax(28px, .35fr)); }
}

@media (max-width: 1050px) {
    .army-launch-grid { grid-template-columns: 1fr; }
    .army-launch-aside h2 { max-width: none; }
    .army-flow-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .army-stage { grid-template-columns: 1fr; }
    .army-roster-summary { border-top: 1px solid rgba(130, 146, 158, .26); border-left: 0; }
    .army-toolbar-facts > div:not(.save-indicator) { display: none; }
}

@media (max-width: 900px) {
    .army-roster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .army-unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .mobile-nav { grid-template-columns: repeat(4, 1fr); }
    .mobile-nav__item > strong { font-family: "Oxanium Nexus", sans-serif; font-size: .82rem; }
    .army-launch-heading { align-items: flex-start; }
    .army-form-grid, .custom-profile-fields { grid-template-columns: 1fr; }
    .army-create-footer { align-items: stretch; flex-direction: column; }
    .army-create-footer .button { width: 100%; }
    .army-flow-preview { grid-template-columns: 1fr; }
    .army-roster-grid { grid-template-columns: 1fr; }
    .army-builder-shell { margin: -.55rem -.1rem 0; border-radius: 4px; }
    .army-builder-toolbar { min-height: 68px; align-items: flex-start; padding: .55rem .6rem; }
    .army-builder-title { gap: .55rem; }
    .army-builder-title > a, .army-builder-title > span { display: none; }
    .army-builder-title h1 { max-width: 100%; font-size: 1rem; }
    .army-toolbar-facts { flex-direction: column; align-items: flex-end; gap: .15rem; }
    .army-toolbar-facts > div { min-width: 0; padding: .35rem .45rem; border: 0; background: transparent; }
    .army-toolbar-facts .save-indicator { min-width: 0; }
    .army-toolbar-facts .save-indicator strong { font-size: .65rem; }
    .army-toolbar-facts .save-indicator small { font-size: .58rem; }
    .army-flow-nav { position: sticky; z-index: 15; top: 66px; padding: .45rem .15rem 0; background: rgba(8, 14, 18, .97); }
    .army-flow-step { min-height: 54px; gap: .18rem; padding: 0 .1rem .55rem; }
    .army-flow-step::before { top: 12px; }
    .army-flow-step > span { width: 25px; height: 25px; font-size: .6rem; }
    .army-flow-step strong { font-size: .6rem; }
    .army-flow-step.is-active::after { right: 7%; left: 7%; }
    .army-inline-message { font-size: .7rem; }
    .army-stage { min-height: 0; }
    .army-stage-main, .army-roster-summary { padding: .45rem; }
    .army-stage-heading { align-items: flex-start; flex-direction: column; gap: .35rem; margin-bottom: .55rem; padding: .2rem .05rem .5rem; }
    .army-stage-heading p:last-child { font-size: .72rem; text-align: left; }
    .rule-profile-grid, .detachment-columns, .custom-profile-editor, .army-context-subfaction { grid-template-columns: 1fr; }
    .army-change-impact { align-items: stretch; flex-direction: column; }
    .army-change-impact__actions .button { flex: 1; }
    .rule-profile-card { min-height: 125px; }
    .custom-profile-editor .button { width: 100%; }
    .army-stage--units .army-roster-summary { display: none; }
    .army-mobile-roster { display: grid; gap: .4rem; }
    .army-mobile-roster__score { display: grid; gap: .45rem; padding: .6rem; border: 1px solid rgba(227, 199, 111, .38); background: #131d23; }
    .army-mobile-roster__score > div { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
    .army-mobile-roster__score > div + div { padding-top: .4rem; border-top: 1px solid rgba(130, 146, 158, .2); }
    .army-mobile-roster__score span { color: var(--nexus-muted-soft); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
    .army-mobile-roster__score strong { color: var(--nexus-text-warm); font-family: "Oxanium Nexus", sans-serif; font-size: 1rem; text-align: right; }
    .army-mobile-roster__score > span { font-size: .64rem; font-weight: 600; }
    .army-mobile-roster-group { overflow: hidden; border: 1px solid rgba(130, 146, 158, .28); background: #10191f; }
    .army-mobile-roster-group > header { display: flex; align-items: center; justify-content: space-between; gap: .55rem; min-height: 54px; padding: .45rem .55rem; border-bottom: 1px solid rgba(102, 188, 233, .34); background: #213b4b; }
    .army-mobile-roster-group > header > div { display: grid; gap: .12rem; }
    .army-mobile-roster-group h2 { margin: 0; color: var(--nexus-text-warm); font-family: "Oxanium Nexus", sans-serif; font-size: .9rem; letter-spacing: .045em; text-transform: uppercase; }
    .army-mobile-roster-group > header span { color: #b9dff3; font-size: .68rem; }
    .army-mobile-roster-group > header button { min-width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--nexus-gold); border-radius: 3px; background: #19242b; color: var(--nexus-text-warm); cursor: pointer; }
    .army-mobile-roster-group > header > .army-mobile-roster-group__add { width: 44px; height: 44px; }
    .army-mobile-roster-group > p { margin: 0; padding: .65rem .55rem; color: var(--nexus-muted-soft); font-size: .74rem; }
    .army-mobile-roster-units { display: grid; }
    .army-mobile-roster-units article { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; border-bottom: 1px solid rgba(130, 146, 158, .18); background: #151f25; }
    .army-mobile-roster-units article:last-child { border-bottom: 0; }
    .army-mobile-roster-unit__sheet { display: flex; align-items: center; justify-content: space-between; gap: .55rem; min-width: 0; min-height: 62px; padding: .55rem .6rem; border: 0; background: transparent; color: var(--nexus-text); text-align: left; cursor: pointer; }
    .army-mobile-roster-unit__sheet > span:first-child { display: grid; min-width: 0; gap: .18rem; }
    .army-mobile-roster-unit__sheet strong { overflow: hidden; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
    .army-mobile-roster-unit__sheet small { overflow: hidden; color: var(--nexus-muted-soft); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
    .army-mobile-roster-unit__sheet > span:last-child { flex: 0 0 auto; padding: .28rem .45rem; border: 1px solid rgba(102, 188, 233, .38); border-radius: 3px; color: #bfe6f8; font-family: "Oxanium Nexus", sans-serif; font-size: .68rem; white-space: nowrap; }
    .army-mobile-roster-unit__actions { display: grid; width: 48px; min-width: 48px; border-left: 1px solid rgba(130, 146, 158, .18); background: #0d161c; }
    .army-mobile-roster-unit__actions > button { width: 48px; min-width: 48px; height: auto; min-height: 31px; align-self: stretch; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--nexus-gold-bright); cursor: pointer; }
    .army-mobile-roster-unit__actions > button + button { border-top: 1px solid rgba(130, 146, 158, .18); }
    .army-mobile-roster-unit__actions > button.is-active { background: rgba(75, 61, 27, .55); }
    .army-unit-catalogue:not(.is-mobile-catalogue-open) .army-catalogue-content { display: none; }
    .army-unit-catalogue.is-mobile-catalogue-open .army-mobile-roster { display: none; }
    .army-unit-catalogue.is-mobile-catalogue-open .army-mobile-catalogue-header { display: flex; align-items: center; justify-content: space-between; gap: .55rem; margin-bottom: .4rem; padding: .35rem .05rem .45rem; border-bottom: 1px solid rgba(130, 146, 158, .24); }
    .army-mobile-catalogue-header h2 { margin: 0; font-size: 1rem; }
    .army-mobile-catalogue-header > div > span { color: var(--nexus-muted-soft); font-size: .64rem; }
    .army-mobile-catalogue-header button { min-height: 44px; padding: 0; border: 1px solid rgba(130, 146, 158, .36); background: #111a20; color: var(--nexus-text); cursor: pointer; }
    .army-mobile-catalogue-header > .army-mobile-catalogue-header__back { width: 44px; min-width: 44px; height: 44px; }
    .army-catalogue-tools { align-items: stretch; gap: .4rem; flex-direction: column; }
    .army-catalogue-tools > label { flex: 0 0 auto; }
    .army-filter-stack { gap: .35rem; }
    .army-filter-row--categories { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .15rem; scrollbar-width: none; }
    .army-filter-row--categories::-webkit-scrollbar { display: none; }
    .army-filter-row--toggles { flex-wrap: nowrap; }
    .army-filter-row button { flex: 0 0 auto; min-height: 36px; }
    .army-unit-catalogue.is-mobile-catalogue-open .army-catalogue-heading { display: none; }
    .army-unit-grid { grid-template-columns: 1fr; }
    .army-unit-card { display: grid; min-height: 0; align-items: center; gap: .3rem .4rem; padding: .45rem; grid-template-columns: minmax(0, 1fr) auto; }
    .army-unit-card > header { min-width: 0; grid-column: 1; }
    .army-unit-card > label { margin-top: 0; grid-column: 1 / -1; }
    .army-unit-card__addition { margin: 0; padding: 0; grid-column: 2; grid-row: 1; }
    .army-unit-card__add { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
    .army-unit-editor {
        position: fixed;
        z-index: 28;
        inset: 0;
        margin: 0;
        padding: max(.55rem, env(safe-area-inset-top, 0px)) .55rem max(.55rem, var(--safe-bottom));
        overflow-y: auto;
        border-width: 1px 0;
        border-radius: 0;
        background: #111a20;
        box-shadow: 0 0 70px rgba(0, 0, 0, .85);
    }
    body:has(.army-unit-editor) .mobile-nav { display: none; }
    .army-unit-editor__status.is-hidden-on-mobile { display: none; }
    .army-unit-tabs { top: -.55rem; margin: 0 -.55rem .55rem; padding: .35rem .55rem; }
    .army-unit-loadout-groups { gap: .72rem; }
    .army-unit-editor__fields { grid-template-columns: 1fr; }
    .army-unit-loadout-group .field__control select { min-height: 44px; padding-block: .38rem; }
    .army-unit-editor__actions { position: sticky; z-index: 2; bottom: -.55rem; padding: .75rem 0 max(1rem, var(--safe-bottom)); background: #111a20; }
    .army-datasheet--desktop { display: none; }
    .army-datasheet--mobile { display: block; overflow: visible; border: 0; border-radius: 0; background: #e8e5da; box-shadow: none; }
    .army-mobile-models { display: grid; gap: .4rem; padding: .45rem; background: #131d23; }
    .army-mobile-models article { overflow: hidden; border: 1px solid rgba(102, 188, 233, .34); background: #1a2730; }
    .army-mobile-models article > header { display: flex; align-items: center; justify-content: space-between; gap: .55rem; padding: .45rem .55rem; color: var(--nexus-text-warm); }
    .army-mobile-models article > header strong { font-family: "Oxanium Nexus", sans-serif; font-size: .86rem; }
    .army-mobile-models article > header span { color: var(--nexus-gold-bright); font-size: .72rem; }
    .army-mobile-model-stats, .army-mobile-weapon-stats { display: grid; margin: 0; grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .army-mobile-model-stats { gap: 1px; padding: 0 .4rem .45rem; }
    .army-mobile-model-stats > div { display: grid; min-width: 0; min-height: 54px; place-items: center; border: 1px solid #9b9279; background: #f7f2e4; color: #17252e; }
    .army-mobile-model-stats dt, .army-mobile-weapon-stats dt { color: #746b55; font-size: .56rem; font-weight: 700; text-transform: uppercase; }
    .army-mobile-model-stats dd, .army-mobile-weapon-stats dd { margin: 0; font-family: "Oxanium Nexus", sans-serif; font-size: .84rem; font-weight: 600; }
    .army-mobile-invulnerable { display: flex; align-items: center; justify-content: space-between; gap: .55rem; min-height: 48px; padding: .45rem .55rem; border-top: 1px solid rgba(102, 188, 233, .4); background: #29495d; color: #f8f1de; }
    .army-mobile-invulnerable span { font-family: "Oxanium Nexus", sans-serif; font-size: .66rem; letter-spacing: .04em; text-transform: uppercase; }
    .army-mobile-invulnerable strong { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: 1rem; }
    .army-mobile-datasheet-section { margin: 0; border-top: 1px solid #dfd8c6; }
    .army-mobile-datasheet-section > summary { display: flex; align-items: center; justify-content: space-between; gap: .55rem; min-height: 52px; padding: .5rem .6rem; list-style: none; background: #29495d; color: #fff8e5; cursor: pointer; }
    .army-mobile-datasheet-section > summary::-webkit-details-marker { display: none; }
    .army-mobile-datasheet-section > summary > span:first-child { display: grid; gap: .12rem; }
    .army-mobile-datasheet-section > summary strong { font-family: "Oxanium Nexus", sans-serif; font-size: .86rem; letter-spacing: .045em; text-transform: uppercase; }
    .army-mobile-datasheet-section > summary small { color: #b9dff3; font-size: .6rem; }
    .army-mobile-datasheet-section__state { flex: 0 0 auto; color: var(--nexus-gold-bright); font-size: .66rem; font-weight: 600; }
    .army-mobile-datasheet-section__state span:last-child, .army-mobile-datasheet-section[open] .army-mobile-datasheet-section__state span:first-child { display: none; }
    .army-mobile-datasheet-section[open] .army-mobile-datasheet-section__state span:last-child { display: inline; }
    .army-mobile-datasheet-section__content { padding: .55rem; background: #f4f1e7; color: #17252e; }
    .army-mobile-empty, .army-mobile-datasheet-section__content > p { margin: 0; color: #67655e; font-size: .74rem; }
    .army-mobile-weapon-list { display: grid; gap: .55rem; }
    .army-mobile-weapon-list article { overflow: hidden; border: 1px solid #c2baa6; background: #fffdf6; }
    .army-mobile-weapon-list article.is-unselected { opacity: .55; }
    .army-mobile-weapon-list article > header { display: flex; align-items: center; justify-content: space-between; gap: .55rem; min-height: 40px; padding: .4rem .5rem; background: #26343d; color: #fff8e8; }
    .army-mobile-weapon-list article > header strong { min-width: 0; overflow-wrap: anywhere; font-family: "Oxanium Nexus", sans-serif; font-size: .82rem; }
    .army-mobile-weapon-list article > header span { color: var(--nexus-gold-bright); font-size: .68rem; }
    .army-mobile-weapon-stats { padding: .45rem .2rem; }
    .army-mobile-weapon-stats > div { display: grid; min-width: 0; gap: .18rem; place-items: center; text-align: center; }
    .army-mobile-weapon-stats dt { font-size: .5rem; }
    .army-mobile-weapon-stats dd { font-size: .8rem; }
    .army-mobile-weapon-tags { display: flex; flex-wrap: wrap; gap: .3rem; padding: 0 .45rem .45rem; }
    .army-mobile-weapon-tags span { padding: .22rem .38rem; border: 1px solid #8b8068; border-radius: 2px; color: #514b3e; font-size: .58rem; font-weight: 700; text-transform: uppercase; }
    .army-mobile-alternative-weapons { margin-top: .55rem; border: 1px solid #b9b09b; background: #ebe6d9; }
    .army-mobile-alternative-weapons > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 46px; padding: .55rem .65rem; list-style: none; color: #3d4d54; font-size: .68rem; font-weight: 700; cursor: pointer; }
    .army-mobile-alternative-weapons > summary::-webkit-details-marker { display: none; }
    .army-mobile-alternative-weapons > summary span { color: #725f35; }
    .army-mobile-alternative-weapons > .army-mobile-weapon-list { padding: 0 .55rem .55rem; }
    .army-mobile-abilities, .army-mobile-composition, .army-mobile-relationships { display: grid; gap: .55rem; }
    .army-mobile-abilities article + article, .army-mobile-composition article + article, .army-mobile-relationships article + article { padding-top: .75rem; border-top: 1px dashed #aaa28e; }
    .army-mobile-abilities header { display: grid; gap: .15rem; }
    .army-mobile-abilities strong, .army-mobile-composition strong, .army-mobile-relationships strong { font-family: "Oxanium Nexus", sans-serif; font-size: .76rem; }
    .army-mobile-abilities small { color: #725f35; font-size: .58rem; text-transform: uppercase; }
    .army-mobile-abilities p { margin: .45rem 0 0; color: #454944; font-size: .8rem; line-height: 1.5; white-space: pre-line; }
    .army-mobile-composition ul, .army-mobile-relationships ul { display: grid; gap: .25rem; margin: .45rem 0 0; padding-left: 1.1rem; color: #555750; font-size: .74rem; }
    .army-mobile-attached-units { display: grid; gap: .35rem; }
    .army-mobile-attached-units article { display: flex; justify-content: space-between; gap: .75rem; padding: .45rem 0; border-bottom: 1px solid #d0c9b7; font-size: .72rem; }
    .army-mobile-attached-units article:last-child { border-bottom: 0; }
    .army-mobile-attached-units span { color: #67655e; text-align: right; }
    .army-mobile-keywords { display: grid; gap: .7rem; }
    .army-mobile-keywords article { display: grid; gap: .35rem; }
    .army-mobile-keywords article > strong { color: #725f35; font-size: .6rem; text-transform: uppercase; }
    .army-mobile-keywords article > div { display: flex; flex-wrap: wrap; gap: .3rem; }
    .army-mobile-keywords article span { padding: .24rem .38rem; border: 1px solid #9c927b; border-radius: 2px; background: #fffdf6; font-size: .62rem; }
    .army-mobile-datasheet-section--warning > summary { background: #614a2f; }
    .army-score-grid strong { font-size: 1.25rem; }
    .army-summary-units { max-height: 240px; }
}

/* Army Builder: current library, construction workbench and player datasheet */

.army-new-roster-button { gap: .55rem; }
.army-new-roster-button img,
.army-inline-action-icon,
.army-datasheet__edit img,
.army-datasheet__edit-link img { width: 15px; height: 15px; }

.army-roster-library--primary { margin-top: 0; }
.army-library-heading { align-items: flex-end; }
.army-library-search { display: block; max-width: 480px; margin: 0 0 .8rem; }
.army-library-search input { width: 100%; min-height: 44px; }
.army-roster-list { overflow: hidden; border: 1px solid rgba(130, 146, 158, .3); border-radius: 4px; background: rgba(12, 18, 23, .72); }
.army-roster-row { display: grid; min-height: 72px; grid-template-columns: minmax(0, 1fr) auto; border-bottom: 1px solid rgba(130, 146, 158, .17); }
.army-roster-row:last-child { border-bottom: 0; }
.army-roster-row:hover { background: rgba(32, 62, 82, .16); }
.army-roster-row__main { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; color: inherit; }
.army-roster-row__main > span:first-child { display: grid; min-width: 0; gap: .18rem; }
.army-roster-row__main strong,
.army-roster-row__main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.army-roster-row__main strong { font-size: .9rem; }
.army-roster-row__main small { color: var(--nexus-muted-soft); font-size: .7rem; }
.army-roster-row__main > span:last-child { flex: 0 0 auto; color: var(--nexus-cyan-bright); font-size: .72rem; }
.army-roster-row__actions { display: flex; align-items: stretch; border-left: 1px solid rgba(130, 146, 158, .17); }
.army-roster-row__actions .army-compact-icon { width: 44px; min-width: 44px; height: auto; border: 0; border-left: 1px solid rgba(130, 146, 158, .14); border-radius: 0; }
.army-roster-row__actions .army-compact-icon:first-child { border-left: 0; }
.army-roster-row__delete img { filter: invert(72%) sepia(26%) saturate(718%) hue-rotate(310deg) brightness(104%) contrast(87%); }
.army-roster-row__rename { display: grid; align-items: center; gap: .5rem; padding: .55rem; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto 38px; }
.army-roster-row__rename input { width: 100%; min-height: 42px; }
.army-create-panel--on-demand { margin-top: 1.25rem; }

.army-builder-name-row { display: flex; min-width: 0; align-items: center; gap: .4rem; }
.army-builder-name-row .army-compact-icon { flex: 0 0 auto; }
.army-builder-rename { display: grid; align-items: center; gap: .4rem; grid-template-columns: minmax(180px, 1fr) auto 36px; }
.army-builder-rename input { min-width: 0; min-height: 38px; }
.army-toolbar-facts .save-indicator { justify-content: center; }

.army-force-disposition { display: grid; max-width: none; gap: .65rem; margin: 0 0 .8rem; padding: .75rem; border: 1px solid rgba(102, 188, 233, .24); background: rgba(32, 62, 82, .14); }
.army-force-disposition > div:first-child { display: grid; gap: .12rem; }
.army-force-disposition > div:first-child small { color: var(--nexus-muted-soft); font-size: .68rem; }
.army-force-disposition__options { display: flex; flex-wrap: wrap; gap: .4rem; }
.army-force-disposition__options button { min-height: 38px; padding: .35rem .65rem; border: 1px solid rgba(130, 146, 158, .34); background: #141e24; color: var(--nexus-muted); cursor: pointer; }
.army-force-disposition__options button.is-selected { border-color: var(--nexus-gold); background: rgba(82, 66, 28, .38); color: var(--nexus-text-warm); }
.army-force-disposition--summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.army-force-disposition--summary span { color: var(--nexus-muted-soft); font-size: .7rem; }

.army-access-summary { display: grid; gap: .45rem; margin: 0 0 .8rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.army-access-summary > div { display: grid; gap: .1rem; min-height: 62px; padding: .55rem .65rem; border: 1px solid rgba(130, 146, 158, .25); background: rgba(17, 26, 32, .82); }
.army-access-summary span { color: var(--nexus-muted-soft); font-size: .62rem; }
.army-access-summary strong { font-size: .78rem; }
.army-access-summary small { color: var(--nexus-muted-soft); font-size: .62rem; }
.army-access-summary .is-warning { border-color: rgba(216, 164, 84, .42); }
.army-access-summary--compact { margin: .55rem 0; grid-template-columns: 1fr; }
.army-access-summary--compact > div { min-height: 0; }

.detachment-workbench { display: grid; align-items: start; gap: .8rem; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); }
.detachment-columns { min-width: 0; }
.detachment-card { min-height: 72px; padding: 0; grid-template-columns: minmax(0, 1fr) auto; overflow: hidden; }
.detachment-card.is-previewed { border-color: var(--nexus-cyan); box-shadow: inset 3px 0 rgba(102, 188, 233, .7); }
.detachment-card__preview { display: flex; min-width: 0; min-height: 70px; align-items: center; justify-content: space-between; gap: .6rem; padding: .55rem .65rem; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.detachment-card__preview > span:first-child { display: grid; min-width: 0; gap: .16rem; }
.detachment-card__preview > span:last-child { flex: 0 0 auto; color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; }
.detachment-card__remove { width: 64px; min-height: 70px; padding: .25rem; border: 0; border-left: 1px solid rgba(130, 146, 158, .22); background: rgba(100, 38, 38, .13); color: #e7aaaa; font-size: .62rem; cursor: pointer; }
.detachment-card .detachment-card__add { width: 44px; min-width: 44px; min-height: 70px; align-self: stretch; border-width: 0 0 0 1px; border-radius: 0; }
.army-detachment-preview { position: sticky; top: 1rem; overflow: hidden; border: 1px solid rgba(195, 162, 94, .38); background: rgba(18, 26, 31, .94); }
.army-detachment-preview > header { display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; padding: .75rem; border-bottom: 1px solid rgba(195, 162, 94, .28); background: rgba(82, 66, 28, .2); }
.army-detachment-preview > header div { display: grid; gap: .12rem; }
.army-detachment-preview > header span { color: var(--nexus-muted-soft); font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }
.army-detachment-preview h3 { margin: 0; font-size: .9rem; }
.army-detachment-preview > header > strong { color: var(--nexus-gold-bright); font-size: .75rem; white-space: nowrap; }
.army-detachment-preview__empty { display: grid; gap: .3rem; padding: 1rem; color: var(--nexus-muted); }
.army-detachment-rules { display: grid; }
.army-detachment-rules details { border-bottom: 1px solid rgba(130, 146, 158, .18); }
.army-detachment-rules details:last-child { border-bottom: 0; }
.army-detachment-rules summary { padding: .65rem .75rem; color: var(--nexus-text-warm); font-size: .74rem; font-weight: 600; cursor: pointer; }
.army-detachment-rules p { margin: 0; padding: 0 .75rem .75rem; color: var(--nexus-muted); font-size: .72rem; line-height: 1.5; }

.army-filter-group { display: grid; gap: .25rem; }
.army-filter-group > span { color: var(--nexus-muted-soft); font-size: .61rem; letter-spacing: .07em; text-transform: uppercase; }
.army-filter-group > span small { letter-spacing: 0; text-transform: none; }
.army-filter-row button.is-included { border-color: rgba(118, 199, 160, .6); background: rgba(39, 105, 76, .32); color: #c6efd9; }
.army-filter-row button.is-excluded { border-color: rgba(228, 121, 121, .55); background: rgba(122, 40, 40, .24); color: #f0b7b7; }
.army-filter-clear { margin-left: auto; text-decoration: underline; text-underline-offset: .16rem; }
.army-catalogue-groups { display: grid; gap: .8rem; }
.army-catalogue-group { min-width: 0; }
.army-catalogue-group > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 38px; padding: .35rem .5rem; border-left: 3px solid var(--nexus-cyan-deep); background: rgba(32, 62, 82, .22); }
.army-catalogue-group > header h3 { margin: 0; color: var(--nexus-text-warm); font-size: .78rem; text-transform: uppercase; }
.army-catalogue-group > header span { color: var(--nexus-muted-soft); font-size: .66rem; }

.army-roster-drag-handle { display: grid; min-width: 24px; place-items: center; color: var(--nexus-muted-soft); cursor: grab; font-size: .7rem; letter-spacing: -.15em; }
.army-summary-unit:active .army-roster-drag-handle { cursor: grabbing; }
.army-reorder-button:disabled { opacity: .28; }
.army-roster-enhancements { margin: .8rem 0; padding-top: .7rem; border-top: 1px solid rgba(130, 146, 158, .18); }
.army-roster-enhancements > header { display: flex; justify-content: space-between; margin-bottom: .35rem; color: var(--nexus-muted); font-size: .65rem; text-transform: uppercase; }
.army-roster-enhancements > header strong { color: var(--nexus-gold-bright); }
.army-roster-enhancements article button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem; border: 0; border-top: 1px solid rgba(130, 146, 158, .12); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.army-roster-enhancements article button > span:first-child { display: grid; min-width: 0; }
.army-roster-enhancements article strong { font-size: .68rem; }
.army-roster-enhancements article small { overflow: hidden; color: var(--nexus-muted-soft); font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.army-roster-enhancements article button > span:last-child { flex: 0 0 auto; color: var(--nexus-gold-bright); font-size: .62rem; }

.army-fixed-choice { display: grid; gap: .15rem; min-height: 42px; padding: .45rem .55rem; border: 1px solid rgba(130, 146, 158, .18); background: rgba(22, 29, 35, .45); }
.army-fixed-choice > span { color: var(--nexus-muted-soft); font-size: .62rem; }
.army-fixed-choice > strong { font-size: .72rem; }
.army-fixed-choice > small { color: var(--nexus-muted-soft); font-size: .62rem; }
.army-choice-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.army-choice-chips button { min-height: 36px; padding: .3rem .55rem; border: 1px solid rgba(130, 146, 158, .3); background: #152028; color: var(--nexus-muted); cursor: pointer; }
.army-choice-chips button.is-selected { border-color: var(--nexus-gold); background: rgba(82, 66, 28, .38); color: var(--nexus-text-warm); }
.army-attachment-capabilities { display: grid; gap: .3rem; margin-top: .45rem; }
.army-attachment-targets { display: grid; gap: .35rem; margin-top: .5rem; }
.army-attachment-targets button { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: .55rem; padding: .4rem .55rem; border: 1px solid rgba(130, 146, 158, .25); background: #111a20; color: inherit; text-align: left; cursor: pointer; }
.army-attachment-targets button > span:first-child { display: grid; }
.army-attachment-targets small { color: var(--nexus-muted-soft); font-size: .62rem; }
.army-enhancement-grid { display: grid; gap: .45rem; }
.army-enhancement-grid article { overflow: hidden; border: 1px solid rgba(130, 146, 158, .25); background: rgba(17, 26, 32, .72); }
.army-enhancement-grid article.is-selected { border-color: var(--nexus-gold); }
.army-enhancement-grid article > header,
.army-enhancement-grid article > footer { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .5rem .6rem; }
.army-enhancement-grid article > header span { color: var(--nexus-gold-bright); font-size: .7rem; }
.army-enhancement-grid article > small { display: block; padding: 0 .6rem .35rem; color: var(--nexus-muted-soft); font-size: .62rem; }
.army-enhancement-description { border-block: 1px solid rgba(130, 146, 158, .14); }
.army-enhancement-description summary { padding: .42rem .6rem; color: var(--nexus-cyan-bright); font-size: .65rem; cursor: pointer; }
.army-enhancement-description p { margin: 0; padding: 0 .6rem .6rem; color: var(--nexus-muted); font-size: .68rem; line-height: 1.5; }

.review-exceptions { display: grid; gap: .4rem; margin-top: .75rem; }
.review-exceptions > p { margin: 0; padding: .75rem; border: 1px solid rgba(118, 199, 160, .26); color: #b9ddc8; font-size: .75rem; }
.review-exceptions > button { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: .7rem; padding: .5rem .65rem; border: 1px solid rgba(216, 164, 84, .28); background: rgba(71, 52, 22, .18); color: inherit; text-align: left; cursor: pointer; }
.review-exceptions > button > span:first-child { display: grid; }
.review-exceptions small { color: var(--nexus-muted-soft); font-size: .65rem; }
.review-roster-list { margin-top: .75rem; border: 1px solid rgba(130, 146, 158, .24); }
.review-roster-list > summary { min-height: 46px; padding: .65rem .75rem; color: var(--nexus-cyan-bright); font-size: .72rem; cursor: pointer; }
.review-roster-list .review-unit-list { margin: 0; padding: 0 .55rem .55rem; }

.army-datasheet__model-deck > header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .42rem .65rem; background: #263f4e; color: #fff6df; }
.army-datasheet__model-deck > header strong { font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; text-transform: uppercase; }
.army-datasheet__model-deck > header span { color: #efd479; font-size: .65rem; }
.army-datasheet__models { grid-template-columns: 1fr; }
.army-datasheet__models article { grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr); align-items: center; }
.army-datasheet__models article:only-child { grid-template-columns: 1fr; }
.army-datasheet__save-stat { position: relative; }
.army-datasheet__invulnerable { position: absolute; right: -1px; bottom: -1px; display: flex; align-items: center; gap: .12rem; padding: .08rem .2rem; border: 1px solid #776943; background: #344957; color: #fff4d0; }
.army-datasheet__invulnerable small { color: #eed27c; font-size: .42rem; }
.army-datasheet__invulnerable strong { font-size: .55rem; }
.army-datasheet__section h4 { display: flex; min-height: 30px; align-items: center; justify-content: space-between; gap: .6rem; }
.army-datasheet__section h4 > button:not(.army-datasheet__edit) { border: 0; background: transparent; color: #d8edfa; font-size: .56rem; cursor: pointer; text-transform: none; }
.army-datasheet__edit { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255, 245, 217, .38); background: rgba(255, 255, 255, .08); cursor: pointer; }
.army-datasheet__edit img { filter: invert(92%) sepia(27%) saturate(556%) hue-rotate(334deg) brightness(104%); }
.army-datasheet__weapon-table article > div { gap: .2rem; }
.army-datasheet__weapon-name { display: flex; flex-wrap: wrap; align-items: center; gap: .22rem; }
.army-datasheet__weapon-table article strong { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.army-datasheet__multi-profile,
.army-datasheet__not-equipped { padding: .08rem .2rem; border: 1px solid #8e8163; color: #64583d; font-size: .46rem; font-weight: 700; text-transform: uppercase; }
.army-weapon-tags { display: flex; flex-wrap: wrap; gap: .18rem; }
.army-weapon-tags > span { padding: .08rem .22rem; border: 1px solid #a69a80; background: #f8f3e5; color: #5a513f; font-size: .48rem; font-weight: 700; text-transform: uppercase; white-space: normal; }
.army-datasheet__weapon-table article.is-alternate-group { border-top: 2px dashed #99865a; }
.army-datasheet__weapon-table article.is-multi-profile { box-shadow: inset 3px 0 #5b7f91; }
.army-datasheet__weapon-table article.is-unselected { opacity: .72; }
.army-datasheet__weapon-legend { margin: .3rem .2rem 0; color: #665e4d; font-size: .52rem; }

.army-ability-summary { display: grid; gap: .25rem; padding: .35rem .4rem; border-bottom: 1px solid #b9b5a9; }
.army-ability-summary > strong { color: #725f35; font-size: .52rem; letter-spacing: .08em; text-transform: uppercase; }
.army-ability-summary > div { display: flex; flex-wrap: wrap; gap: .22rem; }
.army-ability-summary span { padding: .18rem .28rem; border: 1px solid #aaa18e; background: rgba(255, 255, 255, .34); font-size: .57rem; }
.army-unit-abilities__toggle { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: space-between; gap: .55rem; padding: .35rem .4rem; border: 0; border-bottom: 1px solid #b9b5a9; background: rgba(52, 73, 87, .08); color: #263f4e; text-align: left; cursor: pointer; }
.army-unit-abilities__toggle > span:first-child { display: flex; align-items: baseline; gap: .35rem; }
.army-unit-abilities__toggle small { color: #75643f; }
.army-unit-abilities__toggle > span:last-child { color: #725f35; font-size: .56rem; }
.army-unit-abilities__list article { padding: .4rem; border-bottom: 1px solid #c4bfb1; }
.army-unit-abilities__list header { display: flex; justify-content: space-between; gap: .5rem; }
.army-unit-abilities__list strong { font-size: .66rem; }
.army-unit-abilities__list small { color: #75643f; font-size: .5rem; text-transform: uppercase; }
.army-unit-abilities__list p { margin: .3rem 0 0; color: #444c49; font-size: .62rem; line-height: 1.45; }
.army-rich-text { white-space: pre-wrap; }
.army-rich-text .is-semibold { font-weight: 600; }
.army-rich-text .is-bold { font-weight: 700; }
.army-rich-text .is-italic { font-style: italic; }

.army-datasheet__selected-enhancements { display: grid; }
.army-datasheet__selected-enhancements > details { border-bottom: 1px solid #c1beb4; }
.army-datasheet__selected-enhancements > details > summary { display: flex; align-items: center; justify-content: space-between; gap: .55rem; padding: .42rem; cursor: pointer; }
.army-datasheet__selected-enhancements > details > summary > span:first-child { display: grid; }
.army-datasheet__selected-enhancements summary strong { font-size: .66rem; }
.army-datasheet__selected-enhancements summary small { color: #75643f; font-size: .52rem; }
.army-datasheet__selected-enhancements summary > span:last-child { color: #725f35; font-size: .58rem; }
.army-datasheet__selected-enhancements p { margin: 0; padding: 0 .45rem .5rem; color: #444c49; font-size: .62rem; line-height: 1.45; }
.army-datasheet__attached-units { display: grid; }
.army-datasheet__attached-units button,
.army-mobile-attached-units button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .5rem; padding: .42rem; border: 0; border-bottom: 1px solid #c1beb4; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.army-datasheet__attached-units button > span:first-child,
.army-mobile-attached-units button > span:first-child { display: grid; }
.army-datasheet__attached-units small,
.army-mobile-attached-units small { color: #67655e; font-size: .54rem; }
.army-datasheet__attached-units em,
.army-mobile-attached-units em { color: #725f35; font-size: .52rem; font-style: normal; }
.army-keyword-groups { display: flex; flex: 1; flex-wrap: wrap; gap: .5rem 1rem; }
.army-keyword-groups article { display: grid; gap: .15rem; }
.army-keyword-groups article > strong { color: #f0c95f; font-size: .52rem; letter-spacing: .08em; text-transform: uppercase; }
.army-keyword-groups article > small { color: #c7c1b1; font-size: .48rem; }
.army-keyword-groups article > div { display: flex; flex-wrap: wrap; gap: .2rem; }
.army-keyword-groups article > div span { padding: .12rem .25rem; border: 1px solid rgba(255, 255, 255, .24); font-size: .56rem; }
.army-datasheet__limits { border-color: #ad7c45; background: #f3e9d2; }
.army-datasheet__limits > summary { color: #754a2d; font-size: .64rem; font-weight: 700; cursor: pointer; }
.army-datasheet__limits ul,
.army-technical-details ul { margin: .35rem 0 0; padding-left: 1rem; }
.army-technical-details { margin-top: .45rem; padding-top: .35rem; border-top: 1px dashed #b8a785; }
.army-technical-details summary { color: #6d6250; cursor: pointer; }
.army-datasheet__edit-link { display: flex; min-height: 42px; align-items: center; gap: .4rem; margin-top: .55rem; padding: .4rem .55rem; border: 1px solid #9f9276; background: #fffaf0; color: #344957; cursor: pointer; }
.army-mobile-static-heading { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: .5rem; padding: .5rem .6rem; background: #29495d; color: #fff8e5; }
.army-mobile-static-heading strong { font-family: "Oxanium Nexus", sans-serif; font-size: .86rem; text-transform: uppercase; }
.army-mobile-static-heading small { color: #f0c95f; }
.army-mobile-save-stat { position: relative; }
.army-mobile-save-stat > span { position: absolute; right: 1px; bottom: 1px; display: flex; align-items: center; gap: .12rem; padding: .05rem .18rem; background: #29495d; color: #f8f1de; }
.army-mobile-save-stat > span small { color: #f0c95f; font-size: .42rem; }
.army-mobile-save-stat > span strong { font-size: .58rem; }

@media (max-width: 1250px) {
    .detachment-workbench { grid-template-columns: 1fr; }
    .army-detachment-preview { position: static; }
}

@media (max-width: 900px) {
    .army-roster-row__main > span:last-child { font-size: 0; }
    .army-roster-row__main > span:last-child > span { font-size: 1rem; }
    .army-builder-rename { grid-template-columns: minmax(150px, 1fr) auto 36px; }
}

@media (max-width: 720px) {
    .army-new-roster-button { width: 100%; }
    .army-roster-library--primary { margin-top: 0; }
    .army-library-heading { align-items: center; }
    .army-roster-row { min-height: 68px; }
    .army-roster-row__main { padding: .65rem .7rem; }
    .army-roster-row__actions .army-compact-icon { width: 46px; min-width: 46px; }
    .army-roster-row__rename { grid-template-columns: minmax(0, 1fr) 44px; }
    .army-roster-row__rename .button--primary { grid-column: 1 / -1; grid-row: 2; }
    .army-roster-row__rename .army-compact-icon { grid-column: 2; grid-row: 1; }
    .army-create-panel--on-demand { margin-top: .8rem; }
    .army-builder-name-row h1 { max-width: 48vw; }
    .army-builder-rename { grid-template-columns: minmax(0, 1fr) 38px; }
    .army-builder-rename .button--primary { min-height: 38px; grid-column: 1 / -1; grid-row: 2; }
    .army-builder-rename .army-compact-icon { grid-column: 2; grid-row: 1; }
    .army-force-disposition--summary { align-items: flex-start; flex-direction: column; }
    .army-force-disposition__options { display: grid; grid-template-columns: 1fr; }
    .army-access-summary { grid-template-columns: 1fr; }
    .detachment-columns { grid-template-columns: 1fr; }
    .detachment-card__preview { min-height: 64px; }
    .detachment-card__remove,
    .detachment-card .detachment-card__add { min-height: 64px; }
    .army-filter-clear { margin-left: 0; }
    .army-catalogue-group > header { position: sticky; z-index: 2; top: 118px; }
    .army-summary-unit__actions .army-roster-drag-handle,
    .army-summary-unit__actions .army-reorder-button { display: none; }
    .army-mobile-roster-units article { grid-template-columns: minmax(0, 1fr); }
    .army-mobile-roster-unit__actions { width: 100%; min-width: 0; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); border-top: 1px solid rgba(130, 146, 158, .18); border-left: 0; }
    .army-mobile-roster-unit__actions > button,
    .army-mobile-roster-unit__actions > .army-mobile-roster-unit__configure { width: auto; min-width: 44px; min-height: 44px; grid-column: auto; border-top: 0; }
    .army-mobile-roster-unit__actions > button + button { border-top: 0; border-left: 1px solid rgba(130, 146, 158, .18); }
    .army-enhancement-grid article > footer { min-height: 48px; }
    .army-datasheet__selected-enhancements p,
    .army-unit-abilities__list p { font-size: .78rem; line-height: 1.55; }
    .army-ability-summary { padding: .5rem .55rem; }
    .army-ability-summary span { font-size: .68rem; }
    .army-unit-abilities__toggle { min-height: 50px; padding: .5rem .55rem; }
    .army-unit-abilities__list article { padding: .55rem; }
    .army-unit-abilities__list strong { font-size: .78rem; }
    .army-mobile-weapon-list article.is-multi-profile { box-shadow: inset 4px 0 #5b7f91; }
    .army-mobile-attached-units button { min-height: 52px; }
    .army-keyword-groups { display: grid; }
    .army-keyword-groups article > strong { color: #725f35; font-size: .6rem; }
    .army-keyword-groups article > small { color: #6f6a5f; font-size: .54rem; }
    .army-keyword-groups article > div span { border-color: #9c927b; background: #fffdf6; color: #17252e; font-size: .64rem; }
}

@media (forced-colors: active) {
    .army-builder-shell, .army-roster-summary, .army-unit-card, .army-unit-editor,
    .rule-profile-card, .detachment-card, .army-roster-card { border: 1px solid CanvasText; }
}

/* Platform administration: explicit, short-lived, read-only operating mode */

.administration-entry {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 42px;
    padding: .45rem .5rem;
    border: 1px solid rgba(216, 164, 84, .26);
    border-radius: 3px;
    background: rgba(102, 59, 35, .12);
    color: #e9c88f;
    font-size: .73rem;
}

.administration-entry:hover { border-color: rgba(216, 164, 84, .6); background: rgba(102, 59, 35, .24); color: #ffe2ad; }
.administration-entry img { width: 15px; height: 15px; filter: invert(83%) sepia(38%) saturate(633%) hue-rotate(351deg) brightness(92%); }
.sheet-administration-entry { color: #e9c88f; }
.button--administration { border-color: #c77b58; background: linear-gradient(135deg, #6f3428, #44231f); color: #fff5e8; }
.button--administration:hover { border-color: #efaa7e; background: linear-gradient(135deg, #864432, #552a23); }

.administration-activation { max-width: 1120px; margin-inline: auto; }
.administration-activation__heading { margin-top: 1.1rem; }
.administration-activation__grid { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr); gap: 1.2rem; }
.administration-activation__card { display: grid; gap: 1.15rem; max-width: none; padding: clamp(1.35rem, 3vw, 2rem); border-color: rgba(199, 123, 88, .45); }
.administration-activation__card::before { background: linear-gradient(90deg, #d47e5a, #d8a454); }
.administration-activation__sigil { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(199, 123, 88, .65); background: rgba(108, 50, 39, .18); }
.administration-activation__sigil img { width: 23px; height: 23px; filter: invert(73%) sepia(27%) saturate(987%) hue-rotate(331deg) brightness(99%); }
.administration-activation__intro { margin: 0; color: var(--nexus-muted); }
.administration-boundary { padding: 1.5rem; border: 1px solid rgba(130, 146, 158, .28); background: rgba(16, 22, 27, .76); }
.administration-boundary h2 { max-width: 18ch; }
.administration-boundary ul { display: grid; gap: .75rem; margin: 1.25rem 0 0; padding: 0; color: var(--nexus-muted); list-style: none; }
.administration-boundary li { position: relative; padding-left: 1.2rem; }
.administration-boundary li::before { position: absolute; left: 0; color: #d8a454; content: "◇"; }

.administration-shell {
    --administration-accent: #d47e5a;
    --administration-accent-bright: #ffb68d;
    display: grid;
    min-height: 100vh;
    grid-template-columns: 252px minmax(0, 1fr);
    background:
        radial-gradient(circle at 90% -12%, rgba(212, 126, 90, .13), transparent 34rem),
        #07090b;
}

.administration-rail {
    position: sticky;
    top: 0;
    display: flex;
    height: 100vh;
    flex-direction: column;
    padding: 1.2rem 1rem 1rem;
    border-right: 1px solid rgba(212, 126, 90, .38);
    background:
        linear-gradient(180deg, rgba(105, 49, 38, .25), transparent 32%),
        #0c1013;
    box-shadow: 14px 0 34px rgba(0, 0, 0, .22);
}

.administration-brand { margin: 0 .4rem 1.1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(212, 126, 90, .22); }
.administration-brand .brand-lockup__caption { color: var(--administration-accent-bright); }
.administration-mode-badge { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.2rem; padding: .72rem; border: 1px solid rgba(212, 126, 90, .42); background: rgba(105, 49, 38, .18); }
.administration-mode-badge > span { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border: 1px solid var(--administration-accent); border-radius: 50%; color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; }
.administration-mode-badge strong, .administration-mode-badge small { display: block; }
.administration-mode-badge strong { color: #fff1e7; font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; }
.administration-mode-badge small { margin-top: .15rem; color: #ad9285; font-size: .63rem; }
.administration-nav { display: grid; gap: .3rem; }
.administration-nav__item { display: flex; align-items: center; gap: .7rem; min-height: 46px; padding: .55rem .7rem; border: 1px solid transparent; border-radius: 3px; color: #b2a39c; font-size: .84rem; }
.administration-nav__item > span:first-child { display: grid; width: 26px; height: 26px; place-items: center; color: var(--administration-accent); font-family: "Oxanium Nexus", sans-serif; }
.administration-nav__item:hover { background: rgba(105, 49, 38, .15); color: #f8eee8; }
.administration-nav__item.active { border-color: rgba(212, 126, 90, .34); background: rgba(105, 49, 38, .28); color: #fff5ef; }
.administration-session { display: grid; gap: .7rem; margin-top: auto; padding: 1rem .4rem .15rem; border-top: 1px solid rgba(212, 126, 90, .22); }
.administration-session__time { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.administration-session__time span { color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .78rem; }
.administration-session__time small { color: #987f74; font-size: .63rem; }
.administration-exit { width: 100%; min-height: 44px; justify-content: space-between; border-color: rgba(212, 126, 90, .48); background: transparent; color: #f1c2aa; }
.administration-exit:hover { border-color: var(--administration-accent); background: rgba(105, 49, 38, .2); }
.administration-stage { min-width: 0; }
.administration-mobile-header, .administration-mobile-nav { display: none; }
.administration-content { width: min(100% - clamp(2rem, 5vw, 5rem), 1540px); margin-inline: auto; padding-block: clamp(2rem, 4vw, 3.5rem) 4rem; }

.administration-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.administration-page-heading h1 { margin-bottom: .55rem; font-size: clamp(2rem, 3.6vw, 3.35rem); }
.administration-page-heading p:not(.eyebrow) { max-width: 54rem; margin: 0; color: var(--nexus-muted); }
.administration-readonly-badge, .administration-result-count { flex: 0 0 auto; padding: .5rem .7rem; border: 1px solid rgba(212, 126, 90, .32); background: rgba(105, 49, 38, .14); color: #e9b298; font-family: "Oxanium Nexus", sans-serif; font-size: .68rem; letter-spacing: .04em; }
.administration-readonly-badge span { margin-right: .35rem; color: var(--nexus-success); }

.administration-metrics { display: grid; margin-bottom: 1.2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid rgba(130, 146, 158, .28); background: rgba(16, 22, 27, .72); }
.administration-metric { display: grid; min-height: 144px; align-content: center; padding: 1.1rem 1.25rem; border-right: 1px solid rgba(130, 146, 158, .2); transition: background .15s ease; }
a.administration-metric:hover { background: rgba(105, 49, 38, .14); }
.administration-metric:last-child { border-right: 0; }
.administration-metric__value { color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1; }
.administration-metric__label { margin-top: .5rem; color: #f6eee9; font-family: "Oxanium Nexus", sans-serif; font-size: .82rem; }
.administration-metric small { margin-top: .25rem; color: var(--nexus-muted-soft); font-size: .68rem; }
.administration-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.administration-panel { min-width: 0; border: 1px solid rgba(130, 146, 158, .28); background: rgba(16, 22, 27, .7); }
.administration-panel__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid rgba(130, 146, 158, .2); }
.administration-panel__heading h2 { margin: 0; font-size: 1.12rem; }
.administration-panel__heading a { color: #e6b098; font-size: .7rem; }
.administration-activity-list { display: grid; }
.administration-activity { display: grid; min-height: 68px; align-items: center; padding: .7rem 1rem; grid-template-columns: 34px minmax(0, 1fr) auto; gap: .7rem; border-bottom: 1px solid rgba(130, 146, 158, .14); }
.administration-activity:last-child { border-bottom: 0; }
.administration-activity__icon { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(212, 126, 90, .32); color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .72rem; }
.administration-activity__icon--audit { color: var(--nexus-cyan-bright); }
.administration-activity div { min-width: 0; }
.administration-activity strong, .administration-activity span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.administration-activity strong { color: #ece7e3; font-size: .78rem; }
.administration-activity div span { color: var(--nexus-muted-soft); font-size: .67rem; }
.administration-activity time { color: #8f827c; font-size: .62rem; white-space: nowrap; }
.administration-empty { margin: 0; padding: 1.2rem; color: var(--nexus-muted-soft); font-size: .78rem; }
.administration-empty--panel { border: 1px solid rgba(130, 146, 158, .28); background: rgba(16, 22, 27, .7); }

.administration-filters { display: grid; align-items: center; margin-bottom: 1rem; grid-template-columns: minmax(240px, 1fr) minmax(180px, 240px) auto auto; gap: .65rem; }
.administration-filters--audit { grid-template-columns: minmax(240px, 1fr) auto auto; }
.administration-filters label { min-width: 0; }
.administration-filters input, .administration-filters select { width: 100%; min-width: 0; min-height: 46px; padding: .65rem .8rem; border: 1px solid #586873; border-radius: 3px; outline: 0; background: #0b1115; color: var(--nexus-text); }
.administration-filters input:focus, .administration-filters select:focus { border-color: var(--administration-accent); box-shadow: 0 0 0 2px rgba(212, 126, 90, .16); }
.administration-filter-reset { min-height: 44px; padding: .7rem .25rem; color: var(--nexus-muted); font-size: .72rem; text-align: center; }
.administration-filter-reset:hover { color: #f0b99f; }

.administration-table-shell { min-width: 0; overflow-x: auto; border: 1px solid rgba(130, 146, 158, .32); background: rgba(14, 20, 24, .82); }
.administration-table { width: 100%; border-collapse: collapse; font-size: .76rem; }
.administration-table th { height: 42px; padding: .55rem .75rem; border-bottom: 1px solid rgba(212, 126, 90, .38); background: rgba(105, 49, 38, .12); color: #bdaaa0; font-family: "Oxanium Nexus", sans-serif; font-size: .61rem; font-weight: 600; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.administration-table td { min-height: 60px; padding: .72rem .75rem; border-bottom: 1px solid rgba(130, 146, 158, .15); color: #b8c0c5; vertical-align: middle; }
.administration-table tbody tr:last-child td { border-bottom: 0; }
.administration-table tbody tr:hover td { background: rgba(39, 48, 55, .25); }
.administration-table .is-numeric { text-align: right; font-variant-numeric: tabular-nums; }
.administration-table time { color: #9ca7ae; white-space: nowrap; }
.administration-primary-cell { display: flex; align-items: center; gap: .65rem; min-width: 190px; }
.administration-primary-cell > span:last-child { min-width: 0; }
.administration-primary-cell strong, .administration-primary-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.administration-primary-cell strong { color: #f1eeeb; font-size: .8rem; }
.administration-primary-cell small { margin-top: .12rem; color: var(--nexus-muted-soft); font-size: .66rem; }
.administration-avatar-placeholder, .administration-team-sigil { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(212, 126, 90, .38); background: rgba(105, 49, 38, .16); color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .65rem; }
.administration-team-sigil { border-color: rgba(102, 188, 233, .34); background: rgba(32, 62, 82, .22); color: var(--nexus-cyan-bright); }
.administration-status-stack { display: flex; align-items: flex-start; flex-direction: column; gap: .28rem; }
.administration-status { display: inline-flex; align-items: center; gap: .38rem; color: var(--nexus-muted); font-size: .68rem; white-space: nowrap; }
.administration-status i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.administration-status--success { color: #8ed5b2; }
.administration-status--pending { color: #e1b56b; }
.administration-role { padding: .12rem .32rem; border: 1px solid rgba(212, 126, 90, .32); color: #e8ad91; font-size: .58rem; text-transform: uppercase; }
.administration-cell-strong { color: #e8e4e1; font-weight: 600; }
.administration-count { display: inline-grid; min-width: 24px; height: 24px; place-items: center; border: 1px solid rgba(130, 146, 158, .3); font-variant-numeric: tabular-nums; }
.administration-count--active { border-color: rgba(118, 199, 160, .38); color: #8ed5b2; }
.administration-resource strong, .administration-resource small { display: block; }
.administration-resource strong { color: #ddd8d4; font-size: .7rem; }
.administration-resource small { margin-top: .1rem; color: var(--nexus-muted-soft); font-family: ui-monospace, "Cascadia Mono", monospace; font-size: .61rem; }

.administration-pagination { display: grid; align-items: center; margin-top: 1rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .75rem; }
.administration-pagination > a, .administration-pagination > .is-disabled { display: inline-flex; min-height: 44px; align-items: center; gap: .45rem; padding: .55rem .7rem; border: 1px solid rgba(130, 146, 158, .3); color: #d7dfe3; font-size: .7rem; }
.administration-pagination > a:last-child, .administration-pagination > .is-disabled:last-child { justify-self: end; }
.administration-pagination > a:hover { border-color: var(--administration-accent); background: rgba(105, 49, 38, .14); }
.administration-pagination > .is-disabled { opacity: .42; }
.administration-pagination__position { color: var(--nexus-muted-soft); font-size: .66rem; text-align: center; }

@media (max-width: 1100px) {
    .administration-overview-grid { grid-template-columns: 1fr; }
    .administration-table { min-width: 800px; }
}

@media (max-width: 960px) {
    .administration-shell { display: block; }
    .administration-rail { display: none; }
    .administration-mobile-header { position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: .55rem max(1rem, env(safe-area-inset-left)); border-bottom: 1px solid rgba(212, 126, 90, .38); background: rgba(17, 12, 12, .96); backdrop-filter: blur(16px); }
    .administration-mobile-header > div { display: flex; align-items: center; gap: .6rem; }
    .administration-mobile-header__signal { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--administration-accent); border-radius: 50%; color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .68rem; }
    .administration-mobile-header strong, .administration-mobile-header small { display: block; }
    .administration-mobile-header strong { font-family: "Oxanium Nexus", sans-serif; font-size: .78rem; }
    .administration-mobile-header small { color: #ad9285; font-size: .62rem; }
    .administration-mobile-header button { display: inline-flex; min-height: 44px; align-items: center; gap: .45rem; padding: .45rem .65rem; border: 1px solid rgba(212, 126, 90, .48); background: transparent; color: #f1c2aa; font-size: .7rem; cursor: pointer; }
    .administration-mobile-nav { position: sticky; z-index: 25; top: 64px; display: grid; padding: .35rem .65rem; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid rgba(130, 146, 158, .2); background: rgba(9, 13, 16, .96); backdrop-filter: blur(14px); }
    .administration-mobile-nav a { display: grid; min-height: 44px; place-items: center; border-bottom: 2px solid transparent; color: var(--nexus-muted); font-size: .67rem; }
    .administration-mobile-nav a.active { border-bottom-color: var(--administration-accent); color: #ffd8c4; }
    .administration-content { width: min(100% - 2rem, 1540px); padding-block: 1.5rem 3rem; }
}

@media (max-width: 720px) {
    .administration-activation__grid { grid-template-columns: 1fr; }
    .administration-boundary { padding: 1.2rem; }
    .administration-page-heading { align-items: flex-start; flex-direction: column; gap: .8rem; margin-bottom: 1.1rem; }
    .administration-page-heading h1 { font-size: 2rem; }
    .administration-readonly-badge, .administration-result-count { align-self: flex-start; }
    .administration-content { width: calc(100% - 1.25rem); padding-top: 1.05rem; }
    .administration-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .administration-metric { min-height: 116px; padding: .9rem; }
    .administration-metric:nth-child(2) { border-right: 0; }
    .administration-metric:last-child { grid-column: 1 / -1; border-top: 1px solid rgba(130, 146, 158, .2); }
    .administration-metric__value { font-size: 1.8rem; }
    .administration-activity { padding: .65rem .75rem; grid-template-columns: 32px minmax(0, 1fr); }
    .administration-activity time { grid-column: 2; margin-top: -.3rem; }
    .administration-filters, .administration-filters--audit { grid-template-columns: 1fr auto; }
    .administration-filters label:first-child { grid-column: 1 / -1; }
    .administration-filters label:nth-child(2) { min-width: 0; }
    .administration-filters .button { min-width: 108px; }
    .administration-filter-reset { grid-column: 1 / -1; justify-self: start; min-height: 38px; padding: .35rem 0; }
    .administration-table-shell { overflow: visible; border: 0; background: transparent; }
    .administration-table { display: block; min-width: 0; }
    .administration-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
    .administration-table tbody { display: grid; gap: .7rem; }
    .administration-table tr { display: grid; padding: .45rem .7rem; border: 1px solid rgba(130, 146, 158, .3); background: rgba(14, 20, 24, .82); }
    .administration-table td { display: grid; min-height: 42px; align-items: center; padding: .48rem 0; grid-template-columns: minmax(86px, .42fr) minmax(0, 1fr); gap: .65rem; border-bottom: 1px solid rgba(130, 146, 158, .13); text-align: right; }
    .administration-table td::before { color: #8e999f; font-family: "Oxanium Nexus", sans-serif; font-size: .58rem; letter-spacing: .07em; text-align: left; text-transform: uppercase; content: attr(data-label); }
    .administration-table td:last-child { border-bottom: 0; }
    .administration-table .is-numeric { text-align: right; }
    .administration-primary-cell { justify-self: end; min-width: 0; max-width: 100%; text-align: left; }
    .administration-primary-cell > span:last-child { max-width: min(58vw, 320px); }
    .administration-status-stack { align-items: flex-end; }
    .administration-cell-strong, .administration-resource { justify-self: end; }
    .administration-pagination { grid-template-columns: 1fr 1fr; }
    .administration-pagination__position { grid-column: 1 / -1; grid-row: 1; }
    .administration-pagination > a, .administration-pagination > .is-disabled { grid-row: 2; }
}

@media (max-width: 390px) {
    .administration-mobile-header button span:first-child { display: none; }
    .administration-mobile-header button { width: 44px; justify-content: center; }
    .administration-mobile-nav { padding-inline: .35rem; }
    .administration-mobile-nav a { font-size: .61rem; }
    .administration-filters { grid-template-columns: 1fr; }
    .administration-filters label, .administration-filters label:first-child, .administration-filters .button { grid-column: 1; width: 100%; }
    .administration-metrics { grid-template-columns: 1fr; }
    .administration-metric, .administration-metric:nth-child(2), .administration-metric:last-child { grid-column: 1; border-right: 0; border-bottom: 1px solid rgba(130, 146, 158, .2); }
    .administration-metric:last-child { border-bottom: 0; }
}

@media (forced-colors: active) {
    .administration-mode-badge, .administration-panel, .administration-metric,
    .administration-table tr, .administration-activation__card { border: 1px solid CanvasText; }
    .administration-nav__item.active, .administration-mobile-nav a.active { border-color: Highlight; }
}

/* Member profile and adult onboarding */

.registration-journey--profile { align-items: start; padding-block: 1.5rem; grid-template-columns: minmax(280px, .72fr) minmax(520px, 1fr); }
.registration-journey--profile .registration-intro { position: sticky; top: 1.5rem; padding-top: 1.5rem; }
.registration-journey--profile .access-card--registration-profile { max-width: 720px; }
.registration-section { display: grid; gap: 1rem; padding: 0 0 1.35rem; margin: 0; border: 0; border-bottom: 1px solid rgba(130, 146, 158, .19); }
.registration-section legend { display: flex; align-items: center; gap: .65rem; padding: 0 0 .85rem; color: var(--nexus-text-warm); font-family: "Oxanium Nexus", sans-serif; font-size: .84rem; font-weight: 600; }
.registration-section legend span { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(195, 162, 94, .48); color: var(--nexus-gold-bright); font-size: .58rem; }
.registration-field-grid, .profile-field-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.registration-field-grid__wide, .profile-field-grid__wide { grid-column: 1 / -1; }
.registration-privacy-note { display: flex; gap: .65rem; margin: 0; padding: .7rem .8rem; border-left: 2px solid rgba(102, 188, 233, .5); background: rgba(32, 62, 82, .15); color: var(--nexus-muted); font-size: .75rem; line-height: 1.45; }
.registration-privacy-note > span { flex: 0 0 auto; color: var(--nexus-cyan-bright); }
.adult-attestation { display: flex; align-items: flex-start; gap: .8rem; padding: .9rem; border: 1px solid rgba(195, 162, 94, .4); background: rgba(79, 64, 30, .16); cursor: pointer; }
.adult-attestation input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: .1rem; accent-color: var(--nexus-gold); }
.adult-attestation span { display: grid; gap: .18rem; }
.adult-attestation strong { color: var(--nexus-text-warm); font-size: .82rem; }
.adult-attestation small { color: var(--nexus-muted); font-size: .7rem; line-height: 1.45; }
.field__label small { color: var(--nexus-muted-soft); font-size: .68rem; font-weight: 400; }

.profile-completion-callout { display: grid; align-items: center; gap: 1.1rem; margin-block-end: 1.4rem; padding: 1.1rem 1.25rem; grid-template-columns: auto minmax(0, 1fr) auto; border: 1px solid rgba(195, 162, 94, .46); background: linear-gradient(110deg, rgba(195, 162, 94, .1), transparent 55%), rgba(16, 22, 27, .78); }
.profile-completion-callout__mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--nexus-gold); color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: 1.2rem; }
.profile-completion-callout h2, .profile-completion-callout p { margin: 0; }
.profile-completion-callout h2 { margin-block: .12rem .25rem; font-size: clamp(1.08rem, 2vw, 1.35rem); }
.profile-completion-callout p:last-child { max-width: 70ch; color: var(--nexus-muted); font-size: .76rem; line-height: 1.55; }

.profile-page--complete { max-width: 1320px; }
.profile-heading { align-items: flex-end; justify-content: space-between; }
.profile-publication-state { display: inline-flex; align-items: center; gap: .48rem; min-height: 34px; padding: .38rem .65rem; border: 1px solid rgba(130, 146, 158, .35); color: var(--nexus-muted); font-size: .7rem; white-space: nowrap; }
.profile-publication-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--nexus-steel-dark); }
.profile-publication-state.is-published { border-color: rgba(118, 199, 160, .4); color: #9bd9bb; }
.profile-publication-state.is-published i { background: var(--nexus-success); box-shadow: 0 0 9px rgba(118, 199, 160, .42); }
.profile-editor-layout { display: grid; align-items: start; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(270px, 330px); }
.profile-editor-main { display: grid; gap: 1rem; min-width: 0; }
.profile-section, .profile-preview-panel, .profile-avatar-section { border: 1px solid rgba(130, 146, 158, .28); background: rgba(16, 22, 27, .72); }
.profile-section { padding: 1rem; }
.profile-section__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid rgba(130, 146, 158, .18); }
.profile-section__heading h2 { margin: .12rem 0 0; font-size: 1.02rem; }
.profile-section__privacy { color: var(--nexus-muted-soft); font-size: .66rem; text-align: right; }
.profile-field-stack { display: grid; gap: 1rem; }
.field__control textarea { width: 100%; min-width: 0; padding: .72rem .85rem; resize: vertical; border: 1px solid #63737e; border-radius: 3px; outline: 0; background: #090f13; color: var(--nexus-text); line-height: 1.5; }
.field__control textarea:focus { border-color: var(--nexus-cyan); box-shadow: 0 0 0 3px rgba(102, 188, 233, .12); }
.field__control input:disabled, .field__control input[readonly] { border-color: rgba(99, 115, 126, .48); background: rgba(9, 15, 19, .58); color: #71808a; cursor: not-allowed; opacity: .78; }
.profile-hobby-list { display: grid; gap: .45rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-hobby { display: grid; align-items: center; min-width: 0; min-height: 64px; padding: .55rem .65rem; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid rgba(130, 146, 158, .24); background: rgba(9, 14, 18, .55); }
.profile-hobby.is-selected { border-color: rgba(102, 188, 233, .48); background: rgba(32, 62, 82, .2); }
.profile-hobby__selection, .profile-hobby__primary { display: flex; align-items: center; gap: .55rem; cursor: pointer; }
.profile-hobby__selection input, .profile-hobby__primary input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--nexus-cyan); }
.profile-hobby__selection span { display: grid; min-width: 0; }
.profile-hobby__selection strong { overflow: hidden; color: var(--nexus-text); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-hobby__selection small { color: var(--nexus-muted-soft); font-size: .62rem; }
.profile-hobby__primary { min-height: 40px; padding-left: .65rem; border-left: 1px solid rgba(130, 146, 158, .2); color: var(--nexus-gold-bright); font-size: .63rem; }
.shared-roster-content { margin: 0; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85rem; line-height: 1.65; }
.adult-attestation--profile { margin-top: 0; }
.profile-attestation-recorded { display: flex; align-items: center; gap: .75rem; padding: .8rem 1rem; border: 1px solid rgba(118, 199, 160, .3); background: rgba(31, 79, 60, .13); }
.profile-attestation-recorded > span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(118, 199, 160, .52); color: var(--nexus-success); }
.profile-attestation-recorded p { display: grid; gap: .08rem; margin: 0; }
.profile-attestation-recorded strong { color: #ccebdc; font-size: .76rem; }
.profile-attestation-recorded small { color: var(--nexus-muted); font-size: .66rem; }
.profile-preview-panel { position: sticky; top: 1rem; display: grid; gap: .85rem; padding: 1rem; }
.profile-preview-panel > h2 { margin: -.5rem 0 0; font-size: 1rem; }
.profile-preview-card { display: grid; gap: .7rem; padding: .85rem; border: 1px solid rgba(102, 188, 233, .3); background: linear-gradient(145deg, rgba(32, 62, 82, .25), rgba(9, 14, 18, .74)); }
.profile-preview-card.is-private { border-color: rgba(130, 146, 158, .25); filter: saturate(.72); }
.profile-preview-card__avatar { width: 72px; height: 72px; border: 1px solid rgba(195, 162, 94, .45); border-radius: 5px; }
.profile-preview-card > div:nth-child(2) { display: grid; }
.profile-preview-card > div:nth-child(2) strong { color: var(--nexus-text-warm); font-family: "Oxanium Nexus", sans-serif; font-size: .9rem; }
.profile-preview-card > div:nth-child(2) small { color: var(--nexus-muted); font-size: .67rem; }
.profile-preview-card__primary { justify-self: start; padding: .25rem .45rem; border: 1px solid rgba(195, 162, 94, .35); color: var(--nexus-gold-bright); font-size: .64rem; }
.profile-preview-card p, .profile-preview-card blockquote { margin: 0; overflow-wrap: anywhere; color: var(--nexus-muted); font-size: .72rem; line-height: 1.5; }
.profile-preview-card blockquote { padding-left: .7rem; border-left: 2px solid rgba(195, 162, 94, .42); color: #d8d0ba; }
.profile-preview-card__private { display: flex; gap: .5rem; padding-top: .65rem; border-top: 1px solid rgba(130, 146, 158, .17); color: var(--nexus-muted-soft); font-size: .66rem; }
.profile-discovery-toggle { display: flex; align-items: flex-start; gap: .7rem; padding: .75rem; border: 1px solid rgba(130, 146, 158, .25); cursor: pointer; }
.profile-discovery-toggle input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: var(--nexus-success); }
.profile-discovery-toggle span { display: grid; gap: .1rem; }
.profile-discovery-toggle strong { color: var(--nexus-text); font-size: .75rem; }
.profile-discovery-toggle small, .profile-preview-panel__private-data { color: var(--nexus-muted-soft); font-size: .64rem; line-height: 1.45; }
.profile-preview-panel__private-data { margin: 0; overflow-wrap: anywhere; }
.profile-preview-panel__private-data strong { color: var(--nexus-muted); font-weight: 400; }
.profile-avatar-section { margin-top: 1rem; padding: 1rem; }
.profile-avatar-section .profile-section__heading { margin-bottom: 1rem; }

@media (max-width: 1120px) {
    .registration-journey--profile { gap: 2rem; grid-template-columns: minmax(240px, .55fr) minmax(480px, 1fr); }
    .profile-editor-layout { grid-template-columns: minmax(0, 1fr) minmax(250px, 290px); }
    .profile-hobby-list { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
    .registration-journey--profile { grid-template-columns: 1fr; }
    .registration-journey--profile .registration-intro { position: static; padding-top: 0; }
    .registration-journey--profile .access-card--registration-profile { max-width: none; justify-self: stretch; }
    .profile-editor-layout { grid-template-columns: 1fr; }
    .profile-preview-panel { position: static; grid-row: 1; }
}

@media (max-width: 720px) {
    .profile-completion-callout { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
    .profile-completion-callout .button { width: 100%; grid-column: 1 / -1; }
    .registration-journey--profile { padding-block: 0; }
    .registration-field-grid, .profile-field-grid { grid-template-columns: 1fr; }
    .registration-field-grid__wide, .profile-field-grid__wide { grid-column: 1; }
    .registration-section { padding-bottom: 1.1rem; }
    .profile-publication-state { align-self: flex-start; white-space: normal; }
    .profile-section, .profile-preview-panel, .profile-avatar-section { padding: .8rem; }
    .profile-section__heading { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .profile-section__privacy { text-align: left; }
    .profile-hobby { min-height: 70px; padding: .45rem .55rem; }
    .profile-hobby__selection strong { white-space: normal; }
    .profile-preview-panel .button { position: sticky; z-index: 5; bottom: calc(5.35rem + var(--safe-bottom)); }
}

@media (forced-colors: active) {
    .profile-completion-callout, .registration-section, .adult-attestation, .profile-section, .profile-preview-panel, .profile-avatar-section,
    .profile-hobby, .profile-preview-card, .profile-discovery-toggle, .profile-attestation-recorded { border: 1px solid CanvasText; }
}

/* Community, clubs and privacy-safe discovery */

.community-heading { align-items: flex-end; }
.community-entry-grid, .community-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.community-entry { display: grid; min-height: 170px; align-items: center; gap: 1rem; padding: 1.2rem; grid-template-columns: auto minmax(0, 1fr) auto; border: 1px solid rgba(130, 146, 158, .28); background: linear-gradient(145deg, rgba(32, 62, 82, .16), rgba(9, 14, 18, .76)); transition: border-color .18s ease, transform .18s ease; }
.community-entry:hover { border-color: rgba(102, 188, 233, .62); transform: translateY(-2px); }
.community-entry__icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(195, 162, 94, .52); color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: 1.15rem; }
.community-entry h2, .community-entry p { margin: 0; }
.community-entry h2 { margin-block: .14rem .32rem; font-size: 1.08rem; }
.community-entry p:last-child { color: var(--nexus-muted); font-size: .75rem; line-height: 1.55; }
.community-entry > span:last-child { color: var(--nexus-cyan-bright); }

.community-filters { display: grid; align-items: end; gap: .75rem; margin-bottom: 1.2rem; padding: .9rem; grid-template-columns: minmax(180px, 1.2fr) repeat(2, minmax(150px, .75fr)) auto; border: 1px solid rgba(130, 146, 158, .24); background: rgba(12, 18, 22, .72); }
.community-filters:has(label:nth-of-type(4)) { grid-template-columns: minmax(170px, 1.15fr) repeat(3, minmax(135px, .72fr)) auto; }
.community-filters label { display: grid; gap: .3rem; min-width: 0; color: var(--nexus-muted); font-size: .66rem; }
.community-filters input, .community-filters select, .club-editor input:not([type="checkbox"]), .club-editor textarea, .club-editor select, .club-review-grid textarea { width: 100%; min-width: 0; min-height: 44px; padding: .65rem .75rem; border: 1px solid #566875; border-radius: 2px; outline: 0; background: #090f13; color: var(--nexus-text); }
.community-filters input:focus, .community-filters select:focus, .club-editor input:focus, .club-editor textarea:focus, .club-editor select:focus, .club-review-grid textarea:focus { border-color: var(--nexus-cyan); box-shadow: 0 0 0 3px rgba(102, 188, 233, .12); }

.community-card { display: grid; min-width: 0; min-height: 310px; gap: .9rem; padding: 1rem; grid-template-rows: auto auto 1fr auto auto; border: 1px solid rgba(130, 146, 158, .28); background: linear-gradient(150deg, rgba(32, 62, 82, .2), rgba(9, 14, 18, .82)); transition: border-color .18s ease, transform .18s ease; }
.community-card:hover { border-color: rgba(102, 188, 233, .62); transform: translateY(-2px); }
.community-card__top, .community-card footer { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.community-card__sigil { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(195, 162, 94, .5); color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .78rem; }
.community-card h2, .community-card p { margin: 0; overflow-wrap: anywhere; }
.community-card h2 { font-size: 1.06rem; }
.community-card small, .community-card p { color: var(--nexus-muted); }
.community-card__tags { display: flex; flex-wrap: wrap; align-content: flex-start; gap: .38rem; }
.community-card__tags span { padding: .24rem .42rem; border: 1px solid rgba(102, 188, 233, .28); background: rgba(32, 62, 82, .2); color: #b9dcef; font-size: .62rem; }
.community-card__tags span.is-primary { border-color: rgba(195, 162, 94, .45); color: var(--nexus-gold-bright); }
.community-card__metrics { display: grid; margin: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid rgba(130, 146, 158, .16); }
.community-card__metrics div { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: .55rem; }
.community-card__metrics div + div { border-left: 1px solid rgba(130, 146, 158, .16); }
.community-card__metrics dt { color: var(--nexus-muted-soft); font-size: .62rem; }
.community-card__metrics dd { margin: 0; color: var(--nexus-text-warm); font-family: "Oxanium Nexus", sans-serif; }
.community-card footer { padding-top: .3rem; color: var(--nexus-muted); font-size: .68rem; }
.status-pill { display: inline-flex; min-height: 28px; align-items: center; padding: .28rem .48rem; border: 1px solid rgba(130, 146, 158, .34); color: var(--nexus-muted); font-size: .62rem; line-height: 1.15; }
.status-pill--active { border-color: rgba(118, 199, 160, .4); color: #a6dbbf; }
.community-empty { display: grid; min-height: 280px; place-items: center; align-content: center; gap: .55rem; padding: 2rem; border: 1px dashed rgba(130, 146, 158, .34); text-align: center; }
.community-empty > span { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(195, 162, 94, .44); color: var(--nexus-gold-bright); font-size: 1.3rem; }
.community-empty h2, .community-empty p { margin: 0; }
.community-empty p { color: var(--nexus-muted); }
.community-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: .6rem; }

.member-directory-list { display: grid; gap: .65rem; }
.member-directory-card { display: grid; min-height: 86px; align-items: center; gap: 1rem; padding: .8rem 1rem; grid-template-columns: auto minmax(0, 1fr) minmax(120px, auto) auto; border: 1px solid rgba(130, 146, 158, .26); background: rgba(12, 18, 22, .72); }
.member-directory-card:hover { border-color: rgba(102, 188, 233, .54); }
.member-directory-card__avatar { width: 54px; height: 54px; border: 1px solid rgba(195, 162, 94, .42); border-radius: 4px; }
.member-directory-card__identity h2, .member-directory-card__identity p { margin: 0; }
.member-directory-card__identity h2 { font-size: .95rem; }
.member-directory-card__identity p { color: #bfd8e7; font-size: .72rem; }
.member-directory-card__identity small { color: var(--nexus-muted-soft); font-size: .65rem; }
.member-directory-card__clubs { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem; }
.member-directory-card__clubs span { padding: .2rem .38rem; border: 1px solid rgba(130, 146, 158, .24); color: var(--nexus-muted); font-size: .6rem; }

.public-profile-hero, .club-hero { display: grid; align-items: center; gap: 1.2rem; margin-block: 1rem 1.25rem; padding: 1.25rem; grid-template-columns: auto minmax(0, 1fr) auto; border: 1px solid rgba(102, 188, 233, .34); background: linear-gradient(120deg, rgba(32, 62, 82, .34), rgba(9, 14, 18, .72)); }
.public-profile-hero__avatar { width: 92px; height: 92px; border: 1px solid rgba(195, 162, 94, .48); border-radius: 5px; }
.public-profile-hero h1, .public-profile-hero p, .club-hero h1 { margin: 0; }
.public-profile-grid { display: grid; align-items: start; gap: 1rem; grid-template-columns: 1.35fr .8fr .8fr; }
.public-profile-grid .panel, .club-details-grid .panel, .club-management-grid .panel, .club-review-grid .panel { padding: 1rem; }
.public-profile-real-name { color: var(--nexus-text-warm); font-size: 1rem; }
.profile-biography { white-space: pre-wrap; }
.public-profile-grid blockquote { margin: 1rem 0 0; padding-left: .8rem; border-left: 2px solid var(--nexus-gold-dark); color: #d9cfb5; }
.muted-copy { color: var(--nexus-muted); }
.clean-link-list, .capability-list { display: grid; gap: .35rem; padding: 0; margin: 0; list-style: none; }
.clean-link-list a { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: .5rem; border-bottom: 1px solid rgba(130, 146, 158, .17); color: #c7dce7; }

.wide-form-page { width: min(100%, 1120px); margin-inline: auto; }
.club-editor { display: grid; gap: 1rem; }
.club-editor__section { display: grid; gap: 1rem; padding: 1.15rem; }
.club-editor__section .panel__head { margin-bottom: .2rem; }
.form-grid { display: grid; gap: .85rem; }
.form-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid--three { grid-template-columns: .65fr 1.15fr 1fr; }
.club-editor .field, .club-review-grid .field { display: grid; gap: .35rem; min-width: 0; }
.club-editor .field small { color: var(--nexus-muted-soft); font-size: .66rem; }
.choice-fieldset { padding: 0; margin: 0; border: 0; }
.choice-fieldset legend { margin-bottom: .55rem; color: var(--nexus-text-warm); font-family: "Oxanium Nexus", sans-serif; font-size: .78rem; }
.hobby-choice-grid { display: grid; gap: .4rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hobby-choice { display: flex; min-height: 48px; align-items: center; gap: .55rem; padding: .55rem; border: 1px solid rgba(130, 146, 158, .22); background: rgba(9, 14, 18, .48); cursor: pointer; }
.hobby-choice input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--nexus-cyan); }
.hobby-choice strong { font-size: .68rem; }
.privacy-note { margin: 0; padding: .7rem .8rem; border-left: 2px solid rgba(102, 188, 233, .48); background: rgba(32, 62, 82, .14); color: var(--nexus-muted); font-size: .7rem; }
.consent-row { display: flex; align-items: flex-start; gap: .7rem; padding: .8rem; border: 1px solid rgba(195, 162, 94, .4); background: rgba(79, 64, 30, .14); cursor: pointer; }
.consent-row input { width: 20px; height: 20px; flex: 0 0 auto; accent-color: var(--nexus-gold); }
.consent-row span { display: grid; }
.consent-row strong { font-size: .75rem; }
.consent-row small { color: var(--nexus-muted); font-size: .65rem; }
.schedule-editor { display: grid; gap: .65rem; padding-top: .8rem; border-top: 1px solid rgba(130, 146, 158, .17); }
.schedule-editor__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.schedule-editor__head p { margin: 0; }
.schedule-editor__head p:last-child { color: var(--nexus-muted); font-size: .68rem; }
.schedule-row { display: grid; align-items: center; gap: .55rem; grid-template-columns: minmax(120px, 1fr) 110px auto 110px minmax(110px, auto) 44px; }
.schedule-row label { display: flex; align-items: center; gap: .35rem; color: var(--nexus-muted); font-size: .66rem; }
.schedule-row label input { width: 18px; height: 18px; }
.icon-button { min-width: 44px; min-height: 44px; }
.icon-button:hover { border-color: var(--nexus-cyan); color: var(--nexus-cyan-bright); }
.icon-button--danger:hover, .icon-button--danger:focus { border-color: var(--nexus-danger); color: #efaaaa; }
.icon-button--success { border-color: rgba(118, 199, 160, .42); color: var(--nexus-success); }
.club-editor__actions { position: sticky; z-index: 8; bottom: 0; display: flex; justify-content: flex-end; gap: .7rem; padding: .85rem; border: 1px solid rgba(130, 146, 158, .28); background: rgba(9, 14, 18, .94); backdrop-filter: blur(14px); }
.button--compact { min-height: 38px; padding: .4rem .65rem; font-size: .66rem; }
.button--danger { border: 1px solid rgba(228, 121, 121, .48); background: rgba(126, 35, 35, .22); color: #f1b1b1; }
.form-success { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; padding: .75rem .9rem; border: 1px solid rgba(118, 199, 160, .4); background: rgba(31, 79, 60, .15); color: #bce3cf; }
.form-success p { margin: 0; }

.club-hero__sigil { display: grid; width: 72px; height: 72px; place-items: center; border: 1px solid rgba(195, 162, 94, .58); color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: 1.05rem; }
.club-hero__badges, .club-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.club-hero__actions .button img { width: 14px; height: 14px; filter: invert(84%); }
.club-review-callout { display: grid; gap: .15rem; margin-bottom: 1rem; padding: .8rem 1rem; border-left: 3px solid var(--nexus-warning); background: rgba(118, 74, 23, .14); }
.club-review-callout p { margin: 0; }
.club-details-grid { display: grid; align-items: start; gap: 1rem; grid-template-columns: minmax(0, 1.55fr) minmax(270px, .65fr); }
.club-details-main, .club-details-side { display: grid; gap: 1rem; }
.safe-markdown { color: #d3dce2; font-size: .82rem; line-height: 1.7; }
.safe-markdown p:last-child, .safe-markdown ul:last-child { margin-bottom: 0; }
.safe-markdown li + li { margin-top: .25rem; }
.opening-hours-list { display: grid; }
.opening-hours-list > div { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(130, 146, 158, .16); }
.opening-hours-list strong { font-size: .75rem; }
.opening-hours-list span { color: var(--nexus-muted); font-size: .7rem; }
.club-location-card address, .club-review-grid address { display: grid; gap: .12rem; margin-top: .8rem; font-style: normal; }
.club-location-card address span, .club-review-grid address span { color: var(--nexus-muted); }
.private-detail { display: flex; gap: .65rem; margin-top: .7rem; padding: .7rem; border: 1px dashed rgba(130, 146, 158, .3); color: var(--nexus-muted); }
.private-detail p { margin: 0; font-size: .7rem; }
.club-stat-list { display: grid; gap: .45rem; margin: 0; }
.club-stat-list div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .4rem; border-bottom: 1px solid rgba(130, 146, 158, .16); }
.club-stat-list dt { color: var(--nexus-muted); font-size: .68rem; }
.club-stat-list dd { margin: 0; font-family: "Oxanium Nexus", sans-serif; }
.member-self-state { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: .8rem; }
.member-self-state small { color: var(--nexus-gold-bright); }

.club-management-grid, .club-review-grid { display: grid; align-items: start; gap: 1rem; grid-template-columns: minmax(0, 1.55fr) minmax(270px, .6fr); }
.club-management-side, .club-review-grid > aside { display: grid; gap: 1rem; }
.club-member-list { display: grid; }
.club-member-row { display: grid; min-height: 78px; align-items: center; gap: .75rem; padding-block: .65rem; grid-template-columns: auto minmax(0, 1fr) auto; border-bottom: 1px solid rgba(130, 146, 158, .17); }
.club-member-row__avatar { width: 48px; height: 48px; border: 1px solid rgba(130, 146, 158, .35); border-radius: 4px; }
.club-member-row__identity { display: grid; }
.club-member-row__identity strong { font-size: .78rem; }
.club-member-row__identity span, .club-member-row__identity small { color: var(--nexus-muted); font-size: .64rem; }
.club-member-row__actions { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.member-assignments { grid-column: 2 / -1; padding: .6rem 0; border-top: 1px solid rgba(130, 146, 158, .14); }
.member-assignments summary { min-height: 44px; padding: .65rem 0; color: var(--nexus-cyan-bright); font-size: .68rem; cursor: pointer; }
.member-assignments > div { display: grid; gap: .4rem; margin-top: .65rem; }
.member-assignments p { margin: 0; }
.assignment-chip-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.assignment-chip { min-height: 40px; padding: .38rem .58rem; border: 1px solid rgba(130, 146, 158, .3); background: transparent; color: var(--nexus-muted); font-size: .62rem; cursor: pointer; }
.assignment-chip.is-selected { border-color: rgba(118, 199, 160, .48); background: rgba(31, 79, 60, .18); color: #bce3cf; }
.capability-list li { position: relative; padding-left: 1rem; color: var(--nexus-muted); font-size: .68rem; }
.capability-list li::before { position: absolute; left: 0; color: var(--nexus-success); content: "✓"; }
.review-actions { display: grid; gap: .5rem; margin-top: .8rem; }
.administration-mobile-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }

@media (max-width: 1120px) {
    .community-entry-grid, .community-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .community-filters, .community-filters:has(label:nth-of-type(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .community-filters .button { align-self: stretch; }
    .public-profile-grid { grid-template-columns: 1fr 1fr; }
    .public-profile-grid > section:first-child { grid-column: 1 / -1; }
    .hobby-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
    .community-entry-grid, .community-card-grid, .public-profile-grid, .club-details-grid, .club-management-grid, .club-review-grid { grid-template-columns: 1fr; }
    .public-profile-grid > section:first-child { grid-column: 1; }
    .member-directory-card { grid-template-columns: auto minmax(0, 1fr) auto; }
    .member-directory-card__clubs { display: none; }
    .public-profile-hero, .club-hero { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
    .club-hero__actions { grid-column: 1 / -1; }
    .club-hero__actions .button, .club-hero__actions button { width: 100%; }
    .form-grid--three { grid-template-columns: 1fr 1fr; }
    .form-grid--three .field:last-child { grid-column: 1 / -1; }
    .schedule-row { padding: .7rem; grid-template-columns: 1fr 1fr; border: 1px solid rgba(130, 146, 158, .2); }
    .schedule-row > span { display: none; }
    .schedule-row label { grid-column: 1 / -1; }
    .schedule-row .icon-button { justify-self: end; grid-column: 2; grid-row: 3; }
}

@media (max-width: 560px) {
    .community-heading { align-items: flex-start; }
    .community-heading .page-heading__action { width: 100%; }
    .community-entry { min-height: 145px; padding: .9rem; }
    .community-filters, .community-filters:has(label:nth-of-type(4)), .form-grid--two, .form-grid--three, .hobby-choice-grid { grid-template-columns: 1fr; }
    .form-grid--three .field:last-child { grid-column: 1; }
    .community-filters .button { width: 100%; }
    .community-card { min-height: 280px; }
    .public-profile-hero, .club-hero { grid-template-columns: 1fr; text-align: left; }
    .public-profile-hero__avatar, .club-hero__sigil { width: 72px; height: 72px; }
    .club-hero__actions { grid-column: 1; }
    .club-editor__section { padding: .8rem; }
    .club-editor__actions { bottom: calc(4.7rem + var(--safe-bottom)); display: grid; grid-template-columns: 1fr; }
    .club-member-row { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
    .club-member-row__actions { grid-column: 1 / -1; }
    .club-member-row__actions .button { width: 100%; }
    .administration-mobile-nav { overflow-x: auto; grid-template-columns: repeat(5, minmax(72px, 1fr)); }
}

@media (forced-colors: active) {
    .community-entry, .community-card, .community-filters, .member-directory-card, .public-profile-hero, .club-hero,
    .club-editor__section, .hobby-choice, .consent-row, .schedule-row, .club-review-callout { border: 1px solid CanvasText; }
}

/* Connected experience, notifications, and local operations */

.skip-link {
    position: fixed;
    z-index: 1000;
    top: .5rem;
    left: .5rem;
    padding: .7rem 1rem;
    transform: translateY(-150%);
    border: 2px solid var(--nexus-cyan-bright);
    background: #071014;
    color: white;
    font-weight: 700;
}

.skip-link:focus { transform: translateY(0); }

.collective-workspace > section[id] { scroll-margin-top: 1rem; }

@media (max-width: 960px) {
    .collective-workspace > section[id] { scroll-margin-top: calc(66px + 1rem); }
    .app-content { scroll-margin-top: 66px; }
    .administration-content { scroll-margin-top: calc(64px + 7rem); }
}

.primary-nav { gap: 1rem; }
.primary-nav__group { display: grid; gap: .2rem; }
.primary-nav__label {
    padding: 0 .7rem .22rem;
    color: var(--nexus-muted-soft);
    font-family: "Oxanium Nexus", sans-serif;
    font-size: .58rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.primary-nav__item > span:nth-child(2) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-required-nav {
    display: grid;
    min-height: 58px;
    align-items: center;
    padding: .55rem .65rem;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: .55rem;
    border: 1px solid rgba(216, 164, 84, .32);
    background: rgba(118, 75, 20, .1);
}
.profile-required-nav > span:first-child { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid var(--nexus-gold); color: var(--nexus-gold-bright); }
.profile-required-nav strong, .profile-required-nav small { display: block; }
.profile-required-nav strong { color: #f0dfb9; font-size: .72rem; }
.profile-required-nav small { margin-top: .12rem; color: var(--nexus-muted-soft); font-size: .61rem; }
.rail-team-actions { display: grid; margin-top: .55rem; grid-template-columns: 1fr 1fr; gap: .35rem; }
.rail-team-actions a { display: flex; min-height: 38px; align-items: center; justify-content: center; gap: .35rem; border: 1px solid rgba(130, 146, 158, .2); color: var(--nexus-muted); font-size: .68rem; }
.rail-team-actions a:hover { border-color: rgba(102, 188, 233, .4); color: var(--nexus-text); }

.mobile-topbar__actions { display: flex; align-items: center; gap: .55rem; }
.mobile-notification-link { position: relative; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(130, 146, 158, .28); color: var(--nexus-cyan-bright); }
.mobile-notification-link b { position: absolute; top: -4px; right: -4px; display: grid; min-width: 1.25rem; height: 1.25rem; padding-inline: .2rem; place-items: center; border: 2px solid #0a1014; border-radius: 999px; background: var(--nexus-gold); color: #071014; font-size: .55rem; }
.mobile-account-sheet__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.mobile-account-sheet__header h2 { margin: 0; font-size: 1rem; }
.mobile-account-sheet__header button { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(130, 146, 158, .3); background: transparent; color: var(--nexus-text); font-size: 1.3rem; }

.home-command-center { display: grid; align-items: start; margin: 0 0 2.5rem; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); grid-template-areas: "heading ." "actions activity"; gap: 1rem; }
.home-command-center > .section-heading { grid-area: heading; margin-bottom: 0; }
.home-capability-grid { display: grid; grid-area: actions; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.home-capability-grid > a { display: grid; min-height: 88px; align-items: center; padding: .75rem .85rem; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .7rem; border: 1px solid rgba(130, 146, 158, .23); background: rgba(14, 21, 26, .68); }
.home-capability-grid > a:hover { border-color: rgba(102, 188, 233, .46); background: rgba(32, 62, 82, .24); }
.home-capability-grid > a > span:first-child { color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; font-size: 1.2rem; }
.home-capability-grid strong, .home-capability-grid small { display: block; }
.home-capability-grid strong { color: var(--nexus-text); font-size: .82rem; }
.home-capability-grid small { margin-top: .15rem; color: var(--nexus-muted-soft); font-size: .67rem; line-height: 1.35; }
.home-capability-grid b { color: var(--nexus-cyan-bright); }
.home-activity-panel { grid-area: activity; padding: 1rem; }
.home-activity-panel__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; border-bottom: 1px solid rgba(130, 146, 158, .18); }
.home-activity-panel__heading h2 { margin: 0; font-size: 1rem; }
.home-activity-panel__heading > span { display: grid; min-width: 1.65rem; height: 1.65rem; padding-inline: .35rem; place-items: center; border-radius: 999px; background: var(--nexus-cyan-bright); color: #071014; font-size: .65rem; font-weight: 800; }
.home-activity-list { display: grid; }
.home-activity-list a { display: grid; min-height: 56px; align-items: center; padding: .55rem 0; grid-template-columns: 1rem minmax(0, 1fr); gap: .5rem; border-bottom: 1px solid rgba(130, 146, 158, .12); }
.home-activity-list a > span:first-child { color: var(--nexus-muted-soft); font-size: .5rem; }
.home-activity-list a.is-unread > span:first-child { color: var(--nexus-cyan-bright); }
.home-activity-list strong, .home-activity-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-activity-list strong { color: var(--nexus-text); font-size: .72rem; }
.home-activity-list small { color: var(--nexus-muted-soft); font-size: .62rem; }
.home-activity-empty { min-height: 8rem; display: grid; align-content: center; margin: 0; color: var(--nexus-muted); font-size: .76rem; line-height: 1.5; }
.home-activity-panel__all { display: flex; min-height: 42px; align-items: center; justify-content: space-between; padding-top: .55rem; color: var(--nexus-cyan-bright); font-size: .68rem; }

.notification-heading { align-items: end; }
.notification-list-heading { justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: .75rem; }
.notification-count { display: inline-grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(130, 146, 158, .3); border-radius: 50%; background: rgba(130, 146, 158, .1); color: var(--nexus-muted); font-size: .78rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
/* Center Saira's numeral ink within the compact badge. */
.notification-count--compact { width: 1.5rem; height: 1.5rem; padding-top: 2px; font-size: .65rem; }
.notification-count--unread { border-color: var(--nexus-gold-bright); background: var(--nexus-gold-bright); color: var(--nexus-black); }
.notification-list { display: grid; margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(130, 146, 158, .25); background: rgba(12, 18, 22, .7); list-style: none; }
.notification-list li + li { border-top: 1px solid rgba(130, 146, 158, .14); }
.notification-card { display: grid; width: 100%; min-height: 96px; align-items: center; padding: .9rem 1rem; grid-template-columns: 2.7rem minmax(0, 1fr) auto; gap: .8rem; border: 0; border-left: 3px solid transparent; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.notification-card:hover, .notification-card:focus-visible { background: rgba(32, 62, 82, .25); }
.notification-card.is-unread { border-left-color: var(--nexus-cyan-bright); background: linear-gradient(90deg, rgba(102, 188, 233, .11), transparent 55%); }
.notification-card__mark { display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 1px solid rgba(195, 162, 94, .42); color: var(--nexus-gold-bright); font-family: "Oxanium Nexus", sans-serif; }
.notification-card__copy { display: grid; min-width: 0; gap: .2rem; }
.notification-card__copy > span:first-child { display: flex; min-width: 0; align-items: center; gap: .45rem; }
.notification-card__copy strong { overflow: hidden; color: var(--nexus-text); font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
.notification-card__copy i { padding: .1rem .32rem; border: 1px solid rgba(102, 188, 233, .38); color: var(--nexus-cyan-bright); font-size: .55rem; font-style: normal; text-transform: uppercase; }
.notification-card__copy > span:nth-child(2) { color: var(--nexus-muted); font-size: .75rem; line-height: 1.4; }
.notification-card__copy time { color: var(--nexus-muted-soft); font-size: .63rem; }
.notification-card__action { color: var(--nexus-cyan-bright); }
.notification-empty { display: grid; min-height: 260px; align-items: center; padding: 1.5rem; grid-template-columns: 4rem minmax(0, 1fr) auto; gap: 1.2rem; border: 1px solid rgba(118, 199, 160, .26); background: rgba(31, 79, 60, .08); }
.notification-empty > span { display: grid; width: 4rem; height: 4rem; place-items: center; border: 1px solid var(--nexus-success); color: var(--nexus-success); font-size: 1.5rem; }
.notification-empty h2 { margin: .2rem 0 .5rem; }
.notification-empty p:last-child { margin-bottom: 0; color: var(--nexus-muted); }


.operations-status-grid { display: grid; margin-bottom: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.operations-status-card { display: grid; min-height: 150px; align-items: center; padding: 1rem 1.1rem; grid-template-columns: 3rem minmax(0, 1fr); gap: .9rem; border: 1px solid rgba(130, 146, 158, .28); background: rgba(16, 22, 27, .72); }
.operations-status-card.is-healthy { box-shadow: inset 3px 0 rgba(118, 199, 160, .65); }
.operations-status-card.is-warning { box-shadow: inset 3px 0 rgba(216, 164, 84, .75); }
.operations-status-card__mark { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border: 1px solid rgba(212, 126, 90, .42); color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; }
.operations-status-card h2 { margin: .15rem 0 .45rem; font-size: 1.08rem; }
.operations-status-card strong, .operations-status-card small { display: block; }
.operations-status-card strong { color: #f0e9e5; font-size: .82rem; }
.operations-status-card small, .operations-status-card p:last-child { margin-top: .2rem; color: var(--nexus-muted-soft); font-size: .68rem; }
.operations-layout { display: grid; align-items: start; grid-template-columns: minmax(0, 1.1fr) minmax(19rem, .9fr); gap: 1rem; }
.operations-result-list { display: grid; margin: 0; }
.operations-result-list div { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 1rem; border-bottom: 1px solid rgba(130, 146, 158, .13); }
.operations-result-list div:last-child { border-bottom: 0; }
.operations-result-list dt { color: var(--nexus-muted); font-size: .72rem; }
.operations-result-list dd { margin: 0; color: var(--administration-accent-bright); font-family: "Oxanium Nexus", sans-serif; font-size: .82rem; }
.operations-policy ul { display: grid; gap: .75rem; margin: 0; padding: 1rem 1.1rem; list-style: none; }
.operations-policy li { display: grid; gap: .18rem; }
.operations-policy li strong { color: #efe8e4; font-size: .76rem; }
.operations-policy li span { color: var(--nexus-muted); font-size: .69rem; line-height: 1.45; }
.operations-policy > p { margin: 0; padding: .9rem 1.1rem; border-top: 1px solid rgba(130, 146, 158, .15); color: var(--nexus-muted-soft); font-size: .68rem; line-height: 1.5; }
.operations-policy code { color: var(--administration-accent-bright); }

@media (max-width: 1100px) {
    .home-command-center, .operations-layout { grid-template-columns: 1fr; }
    .home-command-center { grid-template-areas: "heading" "actions" "activity"; }
}

@media (max-width: 960px) {
    .mobile-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .mobile-nav.mobile-nav--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .administration-mobile-nav { display: flex; overflow-x: auto; padding-inline: .5rem; scrollbar-width: thin; }
    .administration-mobile-nav a { min-width: 7rem; flex: 0 0 auto; padding-inline: .55rem; }
}

@media (max-width: 720px) {
    .home-capability-grid, .operations-status-grid { grid-template-columns: 1fr; }
    .home-capability-grid > a { min-height: 82px; }
    .notification-heading .button { width: 100%; }
    .notification-card { min-height: 102px; padding: .75rem .65rem; grid-template-columns: 2.35rem minmax(0, 1fr); }
    .notification-card__mark { width: 2.25rem; height: 2.25rem; }
    .notification-card__action { display: none; }
    .notification-empty { align-items: start; grid-template-columns: 3.4rem minmax(0, 1fr); }
    .notification-empty > span { width: 3.2rem; height: 3.2rem; }
    .notification-empty > .button { width: 100%; grid-column: 1 / -1; }
    .operations-status-card { min-height: 132px; }
    .operations-result-list div { align-items: flex-start; flex-direction: column; gap: .25rem; }
    .mobile-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .mobile-nav.mobile-nav--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 390px) {
    .mobile-nav { width: calc(100% - .75rem); }
    .mobile-nav__item small { font-size: .54rem; }
    .home-capability-grid > a { padding-inline: .65rem; }
    .notification-card__copy > span:first-child { align-items: flex-start; flex-direction: column; gap: .2rem; }
}

@media (forced-colors: active) {
    .profile-required-nav, .home-capability-grid > a, .home-activity-panel, .notification-list, .notification-card,
    .notification-count, .notification-empty, .operations-status-card,
    .operations-layout > * { border: 1px solid CanvasText; }
}

/* Collective navigation shares one shell on desktop and mobile. */
.app-shell--collective .app-rail { overflow-y: auto; scrollbar-width: thin; }
.app-shell--collective .app-content { width: min(100% - 3rem, 1500px); padding-top: 2rem; }
.collective-return { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; margin-bottom: .75rem; color: var(--nexus-muted); font-size: .85rem; }
.collective-return img, .collective-mobile-return img { width: 16px; height: 16px; filter: brightness(0) invert(1); }
.collective-identity { display: grid; gap: .35rem; padding: .5rem .75rem 1.25rem; color: var(--nexus-text); overflow-wrap: anywhere; }
.collective-identity strong { font-family: var(--font-display); font-size: 1.2rem; line-height: 1.4; }
.collective-nav { display: grid; gap: .2rem; padding-bottom: 1rem; }
.collective-nav .primary-nav__item { min-height: 44px; padding: .6rem .75rem; font-size: .9rem; }
.collective-nav .primary-nav__item.active { border-left: 3px solid var(--nexus-cyan); }
.collective-heading { align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.collective-heading > div { min-width: 0; }
.collective-heading h1 { margin-bottom: .25rem; font-size: clamp(1.65rem, 2.7vw, 2.3rem); overflow-wrap: anywhere; }
.collective-heading p:not(.kicker) { font-size: .9rem; }
.collective-heading .kicker { margin: 0 0 .4rem; overflow-wrap: anywhere; }
.collective-workspace { min-width: 0; }
.collective-workspace > *, .collective-workspace .field, .collective-workspace .field__control,
.collective-workspace .form-grid > *, .collective-workspace .safe-markdown { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.panel.collective-surface { padding: 0; border: 0; box-shadow: none; background: transparent; }
.panel.collective-surface::before, .panel.collective-surface::after { content: none; }
.collective-surface .section-heading { margin-bottom: 1rem; }
.collective-surface .section-heading h2 { margin: 0; font-size: 1.25rem; }
.collective-context-note { padding: .6rem 0; border-bottom: 1px solid var(--line); color: var(--nexus-muted); font-size: .9rem; }
.collective-context-note strong { color: var(--nexus-text); }
.collective-reference { border-top: 1px solid var(--line); color: var(--nexus-muted); font-size: .9rem; }
.collective-reference > summary, .collective-availability > summary, .collective-disclosure > summary,
.collective-member-rights > summary { min-height: 44px; padding-block: .65rem; color: var(--nexus-cyan-bright); cursor: pointer; list-style-position: inside; }
.collective-reference p { max-width: 75ch; }
.collective-availability .competition-members { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.collective-capabilities { display: flex; flex-wrap: wrap; gap: .5rem; padding: .5rem 0 1rem; }
.collective-member-rights { border-bottom: 1px solid var(--line); }
.collective-member-rights > summary > span { margin-left: .5rem; color: var(--nexus-muted); font-size: .8rem; }
.collective-workspace .club-management-disclosure > summary { list-style: disclosure-closed inside; display: list-item; padding-block: .65rem; }
.collective-workspace .club-management-disclosure[open] > summary { list-style-type: disclosure-open; }
.club-management-disclosure > summary img, .team-invites > summary img { width: 14px; height: 14px; filter: brightness(0) invert(1); margin-inline: .25rem; }
.collective-workspace .club-challenge__summary { align-items: start; }
.collective-workspace .club-challenge__summary > div:first-child { min-width: 0; grid-template-columns: auto minmax(0,1fr); }
.collective-workspace .club-task { min-width: 0; align-items: center; border-inline: 0; padding-inline: 0; }
.collective-workspace .club-task > div:first-child { min-width: 0; }
.collective-workspace .club-announcement, .collective-workspace .club-decision { padding: 1rem 0; border-inline: 0; background: transparent; }
.collective-workspace .club-announcement--urgent, .collective-workspace .club-announcement--important { padding-left: .75rem; border-left: 2px solid var(--nexus-gold); }
.collective-workspace .button, .collective-workspace .icon-button { min-height: 44px; }

.team-layout--focused { grid-template-columns: minmax(0,1fr); gap: 1rem; }
.team-invites { border-block: 1px solid var(--line); }
.team-invites > summary { padding-block: .75rem; min-height: 44px; color: var(--nexus-cyan-bright); cursor: pointer; }
.team-invites > summary > span { margin-left: .75rem; color: var(--nexus-muted); font-size: .8rem; }
.team-invites .captain-column { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 1rem; }
.team-invites .panel { border: 0; padding: 1rem 0; background: transparent; box-shadow: none; }
.team-layout--focused .member-list { border-inline: 0; background: transparent; }
.team-layout--focused .member-row { min-height: 68px; padding: .5rem 0; grid-template-columns: minmax(0, 1fr) 44px 80px; gap: .75rem; }
.team-layout--focused .member-actions { display: block; position: relative; }
.member-actions > summary { display: grid; place-items: center; width: 44px; height: 44px; list-style: none; border: 1px solid var(--line); cursor: pointer; }
.member-actions > summary::-webkit-details-marker { display: none; }
.member-actions > summary img { width: 16px; height: 16px; filter: brightness(0) invert(1); }
.member-actions__menu { display: grid; gap: .35rem; position: absolute; right: 0; top: 100%; z-index: 6; min-width: 12rem; padding: .5rem; border: 1px solid var(--nexus-steel); background: #10191e; box-shadow: 0 .5rem 1rem #0008; }
.member-actions__menu .member-action-button { width: 100%; min-height: 44px; text-align: left; font-size: .85rem; }

.app-shell--collective .club-hero { min-width: 0; padding: 0 0 1.25rem; margin-bottom: 1.25rem; border: 0; background: none; box-shadow: none; }
.app-shell--collective .club-hero__sigil { display: none; }
.app-shell--collective .club-hero h1 { font-size: clamp(1.65rem, 2.7vw, 2.3rem); }
.app-shell--collective .club-details-grid .panel { padding: 1rem 0; border: 0; border-top: 1px solid var(--line); background: none; box-shadow: none; }
.app-shell--collective .club-management-grid .panel { padding: 1rem; }
.app-shell--collective .club-management-grid .club-members-panel { padding: 0; border: 0; background: none; box-shadow: none; }
.app-shell--collective .club-management-grid .club-member-row { padding: .75rem 0; border-inline: 0; }
.club-management-grid.club-management-grid--focused { grid-template-columns: minmax(0,1fr); }
.club-management-grid--focused .club-members-panel::before, .club-management-grid--focused .club-members-panel::after { content: none; }
.club-management-grid--focused .club-member-row { grid-template-columns: 40px minmax(0,1fr) auto; gap: .4rem .65rem; }
.club-management-grid--focused .club-member-row__avatar { width: 40px; height: 40px; }
.club-management-grid--focused .club-member-row__identity { min-width: 0; overflow-wrap: anywhere; }
.club-management-grid--focused .club-member-row__identity strong { font-size: .85rem; }
.club-management-grid--focused .club-member-row__identity small:empty { display: none; }
.club-management-grid--focused .club-member-row__actions { grid-column: 3; grid-row: 1; }
.club-management-grid--focused .club-member-row__actions .button { width: auto; min-height: 44px; }
.club-management-grid--focused .member-assignments { padding: 0; border-top: 0; }
.club-management-grid--focused .member-assignments > summary { padding-block: .55rem; list-style-position: inside; font-size: .8rem; }
.club-management-grid--focused .assignment-chip { min-height: 44px; font-size: .8rem; }
.collective-heading > .button img { width: 16px; height: 16px; filter: brightness(0) invert(1); }
.collective-publication { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }

/* Team preparation keeps shared versions visible and event decisions in their event. */
html:has(.app-shell--team) { min-width: 0; }
.app-shell--team .app-content { width: min(calc(100% - 4rem), 1440px); margin-inline: 2rem auto; }
.collective-nav__group { display: block; margin: 1.25rem .75rem .35rem; color: var(--nexus-muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.collective-heading__description { max-width: 70ch; margin: .6rem 0 0; color: var(--nexus-muted); font-size: 1rem; line-height: 1.55; }
.team-overview-grid, .team-overview-secondary { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.25rem; }
.team-overview-grid > section { padding: 1.5rem; border: 1px solid var(--line); background: var(--nexus-panel); }
.team-overview-grid .team-next-event { border-top: 2px solid var(--nexus-gold); }
.team-overview-grid h2 { margin: .4rem 0 .75rem; overflow-wrap: anywhere; }
.team-overview-grid p:not(.kicker), .team-overview-secondary p { color: var(--nexus-muted); line-height: 1.5; }
.team-overview-grid .button { margin-top: .6rem; }
.team-member-preview { display: flex; flex-wrap: wrap; gap: .4rem .8rem; margin-block: 1rem; font-size: .9rem; }
.team-overview-secondary { margin-top: .5rem; }
.team-overview-secondary > section { border-top: 1px solid var(--line); padding-block: 1.25rem; }
.team-overview-secondary h2 { margin: 0; font-size: 1.3rem; }
.team-section-heading, .team-roster-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 1.25rem; margin-block: .75rem 1.25rem; }
.team-section-heading h2 { margin: 0; }
.team-section-heading p { margin: .4rem 0 0; color: var(--nexus-muted); max-width: 75ch; }
.team-section-heading > a { min-height: 44px; display: inline-flex; align-items: center; }
.team-roster-toolbar > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.team-library-count { color: var(--nexus-muted); }
.team-library-help { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--nexus-muted); line-height: 1.6; }
.team-roster-search { max-width: 34rem; margin-bottom: 1.25rem; }
.roster-version-grid, .team-event-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1rem; }
.roster-version-card, .team-event-link { min-width: 0; display: flex; flex-direction: column; gap: 1.1rem; padding: 1.25rem; border: 1px solid var(--line); background: var(--nexus-panel); color: var(--nexus-text); text-decoration: none; transition: border-color .15s, background .15s; }
.roster-version-card:hover, .team-event-link:hover { border-color: var(--nexus-cyan); background: var(--nexus-panel-strong); text-decoration: none; }
.roster-version-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; color: var(--nexus-cyan-bright); font-size: .8rem; }
.roster-version-card h3, .team-event-link h3 { margin: .25rem 0 .5rem; font-size: 1.45rem; line-height: 1.2; overflow-wrap: anywhere; }
.roster-version-card__owner { margin: 0; font-size: .95rem; }
.roster-version-card__label { margin: 0; color: var(--nexus-muted); overflow-wrap: anywhere; }
.roster-version-card footer, .team-event-link footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .85rem; color: var(--nexus-muted); }
.roster-version-card footer > span { color: var(--nexus-cyan-bright); }
.team-event-link { gap: .55rem; }
.team-event-link p { margin: 0 0 .4rem; color: var(--nexus-muted); }
.team-event-group-title { margin: 1.75rem 0 1rem; font-size: 1.25rem; }
.team-empty-state { padding: 1.5rem; border: 1px solid var(--line); background: var(--nexus-panel); }
.team-empty-state h2 { margin-top: 0; }
.team-empty-state p { max-width: 70ch; color: var(--nexus-muted); line-height: 1.6; }
.team-context-note { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--nexus-muted); line-height: 1.6; }
.team-availability-section { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.team-roster-submission { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; margin-block: 1rem 1.5rem; }
.team-roster-submission .field { flex: 1 1 20rem; min-width: 0; margin: 0; }
.team-event-rosters .competition-rosters > article { grid-template-columns: minmax(0, 1fr); }
.shared-roster-copy { display: grid; gap: .5rem; }
.shared-roster-copy small { color: var(--nexus-muted); }


@media (max-width: 960px) {
    .app-shell--team .app-content { margin-inline: auto; }
    .team-overview-grid { grid-template-columns: minmax(0, 1fr); }
    .app-shell--collective .app-content { width: calc(100% - 2rem); padding-top: 1.25rem; padding-bottom: 7rem; }
    .app-shell--collective .mobile-topbar { gap: .75rem; }
    .app-shell--collective .collective-heading .kicker, .collective-heading > a[href^="/messages?"] { display: none; }
    .collective-mobile-return { display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; min-height: 44px; font-size: .75rem; color: var(--nexus-muted); }
    .collective-mobile-identity { min-width: 0; display: grid; text-align: right; }
    .collective-mobile-identity small { color: var(--nexus-gold); font-size: .65rem; }
    .collective-mobile-identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--nexus-text); font-size: .85rem; }
    .mobile-nav.mobile-nav--collective { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .mobile-nav--collective .mobile-nav__item { min-height: 52px; gap: .15rem; font-size: .75rem; }
    .mobile-nav--collective .mobile-nav__item > span { font: inherit; }
    .mobile-nav--collective .mobile-nav__item img { width: 16px; height: 16px; filter: brightness(0) invert(1); }
    .sheet-team-list a[aria-current=page] { border-left: 3px solid var(--nexus-cyan); background: var(--nexus-panel); color: var(--nexus-cyan-bright); }
}

@media (max-width: 640px) {
    .team-overview-secondary { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .team-overview-grid > section, .team-empty-state, .roster-version-card, .team-event-link { padding: 1rem; }
    .team-roster-submission > .button, .shared-roster-copy { width: 100%; }
    .collective-heading { align-items: start; flex-wrap: wrap; }
    .collective-heading .button { min-height: 44px; }
    .collective-availability .competition-members, .team-invites .captain-column { grid-template-columns: minmax(0,1fr); }
    .collective-workspace .club-challenge { padding: .75rem .6rem; }
    .collective-workspace .club-challenge__summary { display: grid; gap: .5rem; }
    .collective-workspace .club-challenge__summary > .status-pill { justify-self: start; }
    .collective-workspace .club-challenge__actions .button { flex: 1 1 8rem; }
    .collective-workspace .club-task { flex-direction: column; align-items: stretch; }
    .team-layout--focused .member-row { grid-template-areas: "identity actions status"; grid-template-columns: minmax(0,1fr) 44px 68px; gap: .4rem; }
    .team-layout--focused .member-row__identity { gap: .5rem; }
    .team-layout--focused .member-row__identity strong { font-size: .85rem; }
    .team-layout--focused .member-status { min-width: 0; font-size: .7rem; }
    .team-layout--focused .member-actions { grid-column: auto; }
    .team-invites > summary > span { display: block; margin-left: 1.5rem; }
}

@media (forced-colors: active) {
    .collective-nav a[aria-current=page],
    .mobile-nav--collective a[aria-current=page], .sheet-team-list a[aria-current=page] { outline: 2px solid Highlight; }
}
