:root{
  color-scheme:dark;
  --void:#030706;
  --void2:#07100e;
  --navy:#071522;
  --navy2:#0b2034;
  --navy3:#12324b;
  --text:#edf4f6;
  --muted:#aab5b8;
  --soft:#cdd7da;
  --ice:#b8e7ff;
  --cyan:#54b9df;
  --cyan-dim:#2b759b;
  --line:#214966;
  --line-soft:#15334b;
  --steel:#5ba6d2;
  --steel2:#8ac8e9;
  --gold:#f0d44f;
  --gold2:#c5a82b;
  --gold-dark:#756214;
  --green:#42e169;
  --red:#d7473f;
  --amber:#f0ad3f;
  --kdf-red:#8f211e;
  --kdf-red-bright:#dc5149;
  --shadow:0 16px 42px rgba(0,0,0,.42);
  --sto-idle-top:#8dc8e7;
  --sto-idle-mid:#5ba5cf;
  --sto-idle-low:#3f86ae;
  --sto-hover-top:#c3eafd;
  --sto-hover-mid:#82c8e7;
  --sto-hover-low:#559ec6;
  --sto-pressed-top:#fff27c;
  --sto-pressed-mid:#ead24c;
  --sto-pressed-low:#b99d23;
  --sto-row:#17334f;
  --sto-row2:#102a42;
  --type-micro:11px;
  --type-ui:11px;
  --type-small:14.5px;
  --type-body:16px;
  --type-subhead:18px;
  --type-emphasis:22px;
  --type-section:25px;
  --ptf-badge:url("ptf-badge.webp");
  --ptf-watermark:url("ptf-watermark.webp");
  --site-content-max:1240px;
  --site-gutter:44px;

  /* Semantic colour roles — public implementation of the Owner Standard palette. */
  --text-primary:var(--text);
  --text-strong:#fff;
  --text-secondary:var(--soft);
  --text-muted:var(--muted);
  --text-technical:#8da6b1;
  --text-disabled:#667d87;
  --text-inverse:#06131b;
  --text-inverse-authority:#171200;
  --text-inverse-success:#031007;

  /* Faction identity: structural accent + brighter small-text accent. */
  --fed-accent:var(--steel);
  --fed-accent-bright:var(--steel2);
  --kdf-accent:var(--kdf-red-bright);
  --kdf-accent-bright:#ef7a72;

  --surface-command:#102943;
  --surface-grid:#1a4057;
  --surface-deep:#081a28;

  --border-control:#07121a;
  --border-panel:#244d69;
  --border-strong:#2c6385;
  --border-section:#28566f;
  --border-command:#3979a0;
  --border-heritage:#51491f;
  --border-authority:#786515;
  --border-authority-strong:#8a771c;
  --status-live-border:#17391f;

  --sto-idle-tail:#39779d;
  --sto-hover-tail:#4a8fb7;
  --sto-pressed-break:#d1b638;
}*{box-sizing:border-box}html{
  scroll-behavior:smooth;
  overflow-x:clip;
}body{
  margin:0;
  overflow-x:clip;
  color:var(--text-primary);
  background:
    linear-gradient(135deg,rgba(20,35,29,.18) 0 18%,transparent 18% 38%,rgba(18,30,26,.10) 38% 52%,transparent 52% 72%,rgba(18,30,26,.08) 72% 88%,transparent 88%),
    radial-gradient(circle at 82% -6%,rgba(56,133,182,.12),transparent 34rem),
    linear-gradient(180deg,#07100e 0,#020504 74%);
  font-family:"Arial Narrow","Roboto Condensed","Aptos Narrow","Segoe UI",Arial,sans-serif;
  font-stretch:condensed;
  font-size:var(--type-body);
  line-height:1.52;
}a{color:inherit}a:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}.skip-link{
  position:fixed;
  left:12px;
  top:10px;
  z-index:100;
  transform:translateY(-160%);
  padding:9px 13px;
  background:var(--navy);
  border:2px solid var(--gold);
  color:var(--text-strong);
  text-decoration:none;
  font-weight:900;
}.skip-link:focus{transform:none}.wrap, main{
  width:min(var(--site-content-max),calc(100% - var(--site-gutter)));
  margin-inline:auto;
}.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:linear-gradient(180deg,rgba(7,21,34,.985),rgba(2,8,12,.99));
  border-bottom:2px solid var(--border-panel);
  box-shadow:0 10px 28px rgba(0,0,0,.36);
}.command-strip{
  height:29px;
  background:var(--surface-command);
  border-bottom:1px solid var(--border-command);
  color:var(--gold);
  font-size:var(--type-micro);
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}.command-strip .wrap{
  height:100%;
  display:flex;
  align-items:center;
}.navbar{
  min-height:80px;
  display:grid;
  grid-template-columns:minmax(255px,.8fr) minmax(0,1.45fr) auto;
  align-items:end;
  gap:24px;
  padding-top:12px;
}.brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:11px;
  text-decoration:none;
}.brand-emblem{
  width:56px;
  height:56px;
  flex:0 0 56px;
  background:var(--ptf-badge) center/contain no-repeat;
  filter:drop-shadow(0 0 10px rgba(68,132,255,.22)) drop-shadow(0 0 12px rgba(255,70,70,.16));
}.brand-title{
  color:var(--gold);
  font-size:23px;
  font-weight:950;
  letter-spacing:.055em;
  line-height:1;
}.brand-title small{
  display:block;
  width:max-content;
  min-width:100%;
  margin-top:4px;
  padding-top:3px;
  border-top:2px solid #edf4f6;
  color:var(--text-secondary);
  font-size:10.5px;
  letter-spacing:.10em;
  line-height:1.35;
  text-transform:uppercase;
}.tabs{
  min-width:0;
  display:flex;
  align-items:flex-end;
  gap:3px;
  padding-left:7px;
  overflow-x:auto;
  border-bottom:3px solid var(--surface-command);
  scrollbar-width:none;
}.tabs::-webkit-scrollbar{display:none}.tab, .utility-btn, .cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border-control);
  color:var(--text-inverse);
  background:linear-gradient(180deg,var(--sto-idle-top),var(--sto-idle-mid) 48%,var(--sto-idle-low) 52%,var(--sto-idle-tail));
  text-decoration:none;
  text-shadow:0 1px rgba(255,255,255,.28);
  white-space:nowrap;
  font-size:var(--type-ui);
  font-weight:950;
  line-height:1.08;
  transition:background .09s linear,transform .09s linear,border-color .09s linear;
}.tab{
  min-height:37px;
  padding:8px 16px 9px;
  border-bottom:0;
  clip-path:polygon(6px 0,100% 0,100% 100%,0 100%,0 6px);
}.tab:hover, .utility-btn:hover, .cta:hover{
  background:linear-gradient(180deg,var(--sto-hover-top),var(--sto-hover-mid) 48%,var(--sto-hover-low) 52%,var(--sto-hover-tail));
}.tab[aria-current="page"], .utility-btn.gold, .cta.primary{
  color:var(--text-inverse-authority);
  background:linear-gradient(180deg,var(--sto-pressed-top),var(--sto-pressed-mid) 48%,var(--sto-pressed-break) 52%,var(--sto-pressed-low));
}.tab[aria-current="page"]{cursor:default}.tab.is-disabled{
  opacity:.58;
  cursor:default;
  filter:saturate(.5);
}.tab.is-disabled:hover{
  background:linear-gradient(180deg,var(--sto-idle-top),var(--sto-idle-mid) 48%,var(--sto-idle-low) 52%,var(--sto-idle-tail));
}.nav-actions{
  display:flex;
  gap:6px;
  padding-bottom:9px;
}.utility-btn{
  min-height:37px;
  padding:8px 14px 9px;
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);
}main{padding-bottom:70px}.hero{
  position:relative;
  min-height:0;
  display:block;
  padding:72px 0 62px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}.hero::before{
  content:"";
  position:absolute;
  left:0;
  top:35px;
  width:210px;
  height:17px;
  background:var(--surface-command);
  clip-path:polygon(0 0,100% 0,calc(100% - 15px) 100%,10px 100%);
}.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:2px;
  background:linear-gradient(90deg,var(--gold) 0 168px,var(--steel) 168px 365px,transparent 365px);
}.hero-watermark{
  position:absolute;
  right:-55px;
  top:-80px;
  width:560px;
  height:560px;
  background:var(--ptf-watermark) center/contain no-repeat;
  opacity:.16;
  filter:saturate(.95);
  pointer-events:none;
}.hero-copy{
  position:relative;
  z-index:2;
  max-width:980px;
}.eyebrow, .micro, .section-kicker, .join-flow-label, .discord-kicker{
  color:var(--steel2);
  font-size:var(--type-micro);
  font-weight:950;
  letter-spacing:.13em;
  line-height:1.1;
  text-transform:uppercase;
}h1{
  max-width:900px;
  margin:13px 0 15px;
  font-size:clamp(48px,6vw,72px);
  font-weight:950;
  letter-spacing:-.038em;
  line-height:.94;
}h1 span{
  color:var(--gold);
  text-shadow:0 0 16px rgba(240,212,79,.13);
}.motto{
  margin:0 0 18px;
  color:var(--text-primary);
  font-size:22px;
  font-weight:900;
  line-height:1.18;
}.lede{
  max-width:950px;
  margin:0;
  color:var(--text-secondary);
  font-size:18px;
  line-height:1.58;
}.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
}.cta{
  min-height:44px;
  padding:10px 21px 11px;
  border-color:#07131c;
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  letter-spacing:.035em;
  text-transform:uppercase;
}.hero-scale{
  width:max-content;
  max-width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  margin-top:18px;
  padding-top:13px;
  border-top:1px solid var(--line);
  color:var(--text-secondary);
}.hero-scale-label{
  margin-right:13px;
  color:var(--steel2);
  font-size:10px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}.hero-scale strong{
  color:var(--text-primary);
  font-size:12.5px;
  font-weight:900;
  line-height:1.2;
}.hero-scale i{
  width:4px;
  height:4px;
  margin:0 11px;
  background:#527d94;
  transform:rotate(45deg);
  flex:0 0 auto;
}.hero-live-status{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:17px;
  padding:8px 12px 8px 11px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line-soft);
  border-left:3px solid var(--steel);
  background:linear-gradient(90deg,rgba(15,51,71,.38),rgba(4,16,24,.18));
  color:var(--text-muted);
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  letter-spacing:.025em;
  line-height:1;
  transition:border-color .10s linear,background .10s linear;
}.hero-live-status[hidden]{display:none}.hero-live-status:hover{
  border-top-color:#315f7c;
  border-left-color:var(--gold);
  background:linear-gradient(90deg,rgba(20,68,92,.48),rgba(4,16,24,.20));
}.hero-live-dot, .live-indicator{
  flex:0 0 auto;
  transform:rotate(45deg);
}.hero-live-dot{
  width:7px;
  height:7px;
  border:1px solid var(--status-live-border);
  background:var(--green);
  box-shadow:0 0 9px rgba(66,225,105,.20);
}.hero-live-label{
  color:var(--steel2);
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}.hero-live-separator{
  width:1px;
  height:14px;
  margin:0 2px;
  background:var(--border-section);
}.hero-live-status strong{
  color:var(--text-strong);
  font-size:14px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}.hero-live-copy{
  color:var(--text-muted);
  white-space:nowrap;
}.section{
  padding:60px 0 8px;
}.section-soft{padding-top:56px}.section-head{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:end;
  gap:22px;
  margin-bottom:22px;
}.section-heading{min-width:300px}.section-kicker{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 7px 2px;
}.section-notch{
  width:23px;
  height:8px;
  flex:0 0 auto;
  display:inline-block;
  background:var(--gold);
  clip-path:polygon(0 0,100% 0,calc(100% - 5px) 100%,4px 100%);
  box-shadow:0 0 8px rgba(240,212,79,.10);
}.section-title{
  min-width:280px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:0 25px 0 20px;
  overflow:hidden;
  background:linear-gradient(180deg,#5ba7d0,#7fc2e3 49%,#4d91bc 52%,#2a668c);
  color:var(--text-inverse);
  clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%);
  text-shadow:0 1px rgba(255,255,255,.2);
  font-size:var(--type-section);
  font-weight:950;
  line-height:1.08;
}.section-intro{
  max-width:820px;
  margin:0;
  color:var(--text-secondary);
  font-size:15px;
  line-height:1.52;
}.editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);
  align-items:stretch;
  gap:18px;
}.story-panel, .slogan-panel, .heritage-band, .community-panel{
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}.story-panel{
  position:relative;
  padding:26px 28px 25px;
  border:1px solid var(--border-panel);
  border-left:8px solid var(--gold);
  background:linear-gradient(100deg,rgba(71,60,12,.15),rgba(6,20,29,.97) 29%,rgba(3,12,19,.99));
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,12px 100%,0 calc(100% - 12px));
}.story-panel .micro{margin-bottom:10px}.story-panel h3{
  max-width:760px;
  margin:0 0 13px;
  color:var(--text-strong);
  font-size:var(--type-emphasis);
  font-weight:950;
  letter-spacing:-.01em;
  line-height:1.16;
}.story-panel p{
  max-width:820px;
  margin:0 0 14px;
  color:var(--text-secondary);
  font-size:var(--type-body);
  line-height:1.58;
}.story-panel p:last-child{margin-bottom:0}.slogan-panel{
  position:relative;
  padding:20px 22px 19px;
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-top:3px solid var(--steel);
  background:linear-gradient(180deg,rgba(8,28,43,.98),rgba(3,13,21,.99));
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
}.slogan-panel::after{
  content:"PTF";
  position:absolute;
  right:-8px;
  bottom:-33px;
  color:rgba(184,231,255,.025);
  font-size:130px;
  font-weight:950;
  letter-spacing:-.07em;
  pointer-events:none;
}.slogan-line{
  position:relative;
  z-index:1;
  padding:12px 5px 13px;
  border-bottom:1px solid var(--line-soft);
}.slogan-line:last-child{
  padding-bottom:8px;
  border-bottom:0;
}.slogan-line .label{
  display:block;
  margin-bottom:5px;
  color:var(--steel2);
  font-size:var(--type-micro);
  font-weight:950;
  letter-spacing:.15em;
  line-height:1.1;
  text-transform:uppercase;
}.slogan-line strong{
  display:block;
  color:var(--text-strong);
  font-size:var(--type-subhead);
  font-weight:900;
  line-height:1.2;
}.slogan-line p{
  max-width:470px;
  margin:6px 0 0;
  color:var(--text-secondary);
  font-size:var(--type-small);
  line-height:1.48;
}.heritage-band{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  align-items:center;
  gap:32px;
  margin-top:13px;
  padding:18px 27px 17px;
  overflow:hidden;
  border:1px solid var(--border-heritage);
  border-left:7px solid var(--gold);
  background:linear-gradient(90deg,rgba(74,62,12,.22),rgba(6,20,29,.985) 31%,rgba(3,13,20,.995));
  clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));
}.heritage-copy{max-width:880px}.heritage-copy .micro{
  margin:0 0 5px;
  color:var(--gold);
}.heritage-copy h3{
  margin:0 0 8px;
  color:var(--text-strong);
  font-size:var(--type-emphasis);
  line-height:1.16;
}.heritage-copy p{
  max-width:880px;
  margin:0;
  color:var(--text-secondary);
  font-size:15px;
  line-height:1.52;
}.heritage-mark{
  min-width:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2px 0 2px 24px;
  border-left:1px solid var(--line);
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.055em;
}.faction-statement{
  position:relative;
  padding:3px 0 5px 13px;
}.faction-statement::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  bottom:5px;
  width:3px;
}.faction-statement .faction-code{
  display:block;
  margin:0 0 4px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.13em;
  line-height:1;
}.faction-statement strong{
  display:block;
  color:var(--text-primary);
  font-size:16px;
  font-weight:950;
  letter-spacing:.005em;
  line-height:1.12;
  white-space:nowrap;
}.faction-statement.fed::before{background:var(--fed-accent)}.faction-statement.fed .faction-code{color:var(--fed-accent-bright)}.faction-statement.kdf::before{background:var(--kdf-accent)}.faction-statement.kdf .faction-code{color:var(--kdf-accent-bright)}.faction-divider{
  height:1px;
  margin:5px 0 5px 13px;
  background:linear-gradient(90deg,#284b61,rgba(40,75,97,.12));
}.heritage-choice{
  margin:6px 0 0 13px;
  padding-top:7px;
  border-top:1px solid rgba(122,104,29,.55);
  color:var(--gold);
  font-size:10px;
  font-weight:950;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase;
}.community-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) 315px;
  align-items:center;
  gap:34px;
  margin-top:12px;
  padding:21px 26px 23px;
  border:1px solid var(--border-strong);
  border-top:3px solid var(--steel);
  border-left:7px solid var(--steel);
  background:linear-gradient(90deg,rgba(16,57,79,.28),rgba(5,19,28,.985) 39%,rgba(3,13,20,.995));
  clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));
}.community-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}.community-copy h3{
  margin:6px 0 9px;
  color:var(--text-strong);
  font-size:var(--type-emphasis);
  line-height:1.16;
}.community-copy p{
  max-width:900px;
  margin:0;
  color:var(--text-secondary);
  font-size:15px;
  line-height:1.54;
}.join-flow{
  max-width:860px;
  margin-top:17px;
  padding:14px 15px 13px;
  border-top:1px solid var(--border-section);
  border-bottom:1px solid var(--line-soft);
  border-left:4px solid var(--steel);
  background:linear-gradient(90deg,rgba(14,49,68,.38),rgba(4,16,24,.22));
}.join-flow-label{margin-bottom:8px}.join-flow-steps{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  color:var(--text-primary);
  font-size:12.5px;
  font-weight:850;
  line-height:1.35;
}.join-flow-steps b{
  color:var(--gold);
  font-size:14px;
  font-weight:950;
}.join-flow-steps em{
  color:var(--text-secondary);
  font-style:normal;
  font-weight:750;
}.join-flow-note{
  max-width:820px;
  margin-top:8px;
  color:var(--text-muted);
  font-size:11.5px;
  line-height:1.4;
}.community-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}.discord-live{
  position:relative;
  min-width:0;
  align-self:center;
  padding:3px 0 3px 24px;
  border-left:1px solid var(--border-strong);
}.discord-live::before{
  content:"";
  position:absolute;
  left:-1px;
  top:0;
  width:3px;
  height:37px;
  background:var(--steel);
}.discord-live-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}.discord-name{
  margin-top:4px;
  color:var(--text-strong);
  font-size:17px;
  font-weight:950;
  line-height:1.08;
}.live-indicator{
  width:8px;
  height:8px;
  margin-top:3px;
  border:1px solid #273b46;
  background:#52636a;
  box-shadow:none;
  transition:background .15s linear,border-color .15s linear,box-shadow .15s linear;
}.discord-live.is-live .live-indicator{
  border-color:var(--status-live-border);
  background:var(--green);
  box-shadow:0 0 10px rgba(66,225,105,.22);
}.discord-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:14px;
  padding:14px 0 13px;
  border-top:1px solid var(--border-section);
  border-bottom:1px solid var(--line);
}.discord-stat{min-width:0}.discord-stat + .discord-stat{
  padding-left:17px;
  border-left:1px solid var(--border-section);
}.discord-stat-value{
  display:block;
  color:var(--text-strong);
  font-size:29px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  line-height:.95;
}.discord-stat-label{
  display:block;
  margin-top:6px;
  color:var(--text-muted);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.15;
  text-transform:uppercase;
}.discord-status-note{
  margin-top:9px;
  color:var(--text-technical);
  font-size:9.5px;
  font-weight:750;
  line-height:1.3;
}.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:48px;
  padding:20px 17px;
  border-top:2px solid var(--border-section);
  background:rgba(4,15,22,.45);
  color:var(--text-muted);
  font-size:11px;
}.footer b{color:var(--gold)}.footer-disabled{color:var(--text-disabled);font-weight:900}.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:13px;
}.footer a{
  color:var(--steel2);
  text-decoration:none;
  font-weight:900;
}@media (max-width:1080px){.navbar{
    grid-template-columns:1fr auto;
    gap:10px 16px;
  }.tabs{
    grid-column:1/-1;
    grid-row:2;
  }.nav-actions{
    grid-column:2;
    grid-row:1;
  }}@media (max-width:980px){.editorial-grid{grid-template-columns:1fr}}@media (max-width:960px){.community-panel{
    grid-template-columns:1fr;
    gap:22px;
  }.discord-live{
    width:100%;
    padding:16px 0 0;
    border-top:1px solid var(--border-strong);
    border-left:0;
  }.discord-live::before{
    left:0;
    top:-1px;
    width:48px;
    height:3px;
  }.discord-stats{max-width:420px}}@media (max-width:900px){.heritage-band{
    grid-template-columns:1fr;
    gap:16px;
    padding-top:21px;
    padding-bottom:20px;
  }.heritage-mark{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 18px;
    padding:14px 0 0;
    border-top:1px solid var(--line);
    border-left:0;
  }.faction-divider{display:none}.heritage-choice{
    grid-column:1/-1;
    margin:8px 0 0;
    padding-top:8px;
  }.faction-statement strong{white-space:normal}}@media (max-width:760px){.site-header{position:relative}.wrap, main{
    width:min(100% - 28px,1240px);
  }.navbar{
    min-height:0;
    align-items:center;
    padding-top:8px;
  }.brand{padding-bottom:7px}.nav-actions{padding-bottom:7px}.tabs{padding-left:0}.hero{
    padding-top:60px;
    padding-bottom:52px;
  }.hero-watermark{
    right:-100px;
    top:-55px;
    width:360px;
    height:340px;
  }h1{
    font-size:clamp(44px,10vw,62px);
  }.lede{
    font-size:17px;
    line-height:1.6;
  }.hero-scale, .hero-live-status{
    width:100%;
  }.section{padding-top:52px}.section-soft{padding-top:46px}.section-head{
    grid-template-columns:1fr;
    gap:10px;
  }.section-heading{
    min-width:0;
    width:100%;
  }.section-title{
    min-width:0;
    width:100%;
    font-size:24px;
  }.section-intro{font-size:15px}.story-panel{padding:24px 23px}.story-panel h3{font-size:25px}.story-panel p{font-size:15.5px}.slogan-panel{padding:16px 18px}.slogan-line strong{font-size:20px}.slogan-line p{font-size:14px}.join-flow-steps{
    display:grid;
    grid-template-columns:1fr;
    gap:5px;
  }.join-flow-steps b{
    width:max-content;
    margin-left:4px;
    transform:rotate(90deg);
  }.footer{display:block}.footer-links{margin-top:8px}}@media (max-width:650px){.section-title{font-size:22px}.section-intro{font-size:14.5px}.story-panel h3, .heritage-copy h3{font-size:20px}.story-panel p, .heritage-copy p{font-size:15px}.slogan-line strong{font-size:17px}.faction-statement strong{font-size:16px}}@media (max-width:560px){.heritage-band, .community-panel{
    padding-left:21px;
    padding-right:21px;
  }.heritage-mark{grid-template-columns:1fr}.faction-statement + .faction-statement{margin-top:5px}.community-actions{
    display:grid;
    grid-template-columns:1fr;
  }.community-actions .cta{width:100%}}@media (max-width:480px){.brand-emblem{
    width:46px;
    height:46px;
    flex-basis:46px;
  }.brand-title{font-size:20px}.brand-title small{font-size:9.5px}.tab, .utility-btn{font-size:10px}.tab{padding-inline:12px}.utility-btn{padding-inline:12px}.motto{font-size:20px}.hero-scale-label{
    width:100%;
    margin:0 0 7px;
  }.hero-scale i{
    margin-left:8px;
    margin-right:8px;
  }.hero-live-status{
    flex-wrap:wrap;
    line-height:1.25;
  }.hero-live-separator{display:none}.discord-stats{
    grid-template-columns:1fr;
    max-width:none;
  }.discord-stat + .discord-stat{
    margin-top:11px;
    padding:11px 0 0;
    border-top:1px solid var(--line);
    border-left:0;
  }}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tab, .utility-btn, .cta, .hero-live-status, .live-indicator{
    transition:none;
  }}

.benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.benefit-card{
  position:relative;
  min-height:150px;
  padding:21px 24px 20px;
  border:1px solid var(--border-panel);
  border-top:3px solid var(--steel);
  background:linear-gradient(180deg,rgba(9,26,39,.98),rgba(4,14,21,.99));
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}

.benefit-card::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,var(--border-section),transparent 72%);
}

.benefit-card h3{
  margin:8px 0 10px;
  color:var(--text-strong);
  font-size:var(--type-subhead);
  line-height:1.22;
}

.benefit-card p{
  max-width:560px;
  margin:0;
  color:var(--text-secondary);
  font-size:15px;
  line-height:1.54;
}

@media (max-width:980px){
  .benefit-grid{grid-template-columns:1fr}
  .benefit-card{min-height:0}
}

#about .story-panel{
  padding-top:24px;
  padding-bottom:23px;
}

#about .slogan-panel{
  padding-top:17px;
  padding-bottom:16px;
}

#about .slogan-line{
  padding-top:10px;
  padding-bottom:11px;
}

#why-ptf{
  padding-top:53px;
}

#why-ptf .benefit-card{
  min-height:156px;
}

#why-ptf .heritage-band{
  margin-top:13px;
}

#why-ptf .community-panel{
  margin-top:12px;
}

/* ==========================================================================
   CONNECT PAGE
   Uses the shared Home hero and PTF component language.
   ========================================================================== */
.leadership-shell{
  padding:15px;
  border:1px solid var(--border-strong);
  border-top:3px solid var(--steel);
  background:linear-gradient(180deg,rgba(8,28,43,.98),rgba(3,13,21,.99));
  box-shadow:0 16px 36px rgba(0,0,0,.28);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
}
.leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.leader-card{
  min-width:0;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  gap:0 12px;
  padding:12px;
  border:1px solid var(--border-panel);
  border-top:3px solid var(--fed-accent);
  background:linear-gradient(180deg,rgba(10,30,45,.98),rgba(4,14,22,.99));
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
}
.leader-avatar{
  grid-row:1 / span 3;
  width:72px;
  height:72px;
  object-fit:cover;
  border:2px solid var(--fed-accent);
  background:#02080d;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.leader-id{min-width:0}
.leader-name{display:block;color:var(--gold);font-size:16px;font-weight:950;line-height:1.05}
.leader-role{display:block;margin-top:3px;color:var(--steel2);font-size:10.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.leader-lines{align-self:start;min-width:0;padding-top:6px;color:var(--text-secondary);font-size:11px;line-height:1.45}
.leader-lines span{display:block;overflow-wrap:anywhere}
.leader-lines b{color:var(--text-primary)}

.action-btn,
.leader-contact,
.platform-launch,
.mail-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:34px;
  padding:7px 14px;
  border:1px solid var(--border-control);
  color:var(--text-inverse);
  background:linear-gradient(180deg,var(--sto-idle-top),var(--sto-idle-mid) 48%,var(--sto-idle-low) 52%,var(--sto-idle-tail));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);
  text-decoration:none;
  text-shadow:0 1px rgba(255,255,255,.28);
  white-space:nowrap;
  font:950 10px/1.1 "Arial Narrow","Roboto Condensed","Aptos Narrow","Segoe UI",Arial,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .09s linear,transform .09s linear;
}
.action-btn:hover,.leader-contact:hover,.platform-launch:hover,.mail-action:hover{
  background:linear-gradient(180deg,var(--sto-hover-top),var(--sto-hover-mid) 48%,var(--sto-hover-low) 52%,var(--sto-hover-tail));
  transform:translateY(-1px);
}
.action-btn:active,.leader-contact:active,.platform-launch:active,.mail-action:active{transform:none}
.leader-contact{justify-self:start;align-self:end;margin-top:8px;min-height:31px;padding:6px 12px}
.leader-contact img{width:14px;height:12px;object-fit:contain;filter:brightness(0) saturate(100%)}

.comms-shell{
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-top:3px solid var(--steel);
  background:linear-gradient(180deg,rgba(7,25,38,.985),rgba(3,12,19,.995));
  box-shadow:0 18px 40px rgba(0,0,0,.32);
  clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px));
}
.comms-commandbar{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:9px 17px 9px 15px;
  border-bottom:1px solid var(--border-command);
  background:var(--surface-command);
  color:var(--text-primary);
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.comms-commandbar span{display:inline-flex;align-items:center;gap:7px;color:var(--text-technical)}
.comms-commandbar span::before{content:"";width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 8px rgba(66,225,105,.35)}

.discord-feature{
  position:relative;
  display:grid;
  grid-template-columns:66px minmax(0,1fr) auto;
  gap:23px;
  align-items:center;
  padding:24px 25px 23px 23px;
  border-bottom:1px solid #365f79;
  background:linear-gradient(104deg,rgba(92,78,18,.43),rgba(8,29,43,.99) 30%,rgba(3,13,20,.998) 73%);
}
.discord-feature::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,#fff27c,var(--gold) 46%,#a88d18)}
.discord-feature::after{content:"";position:absolute;right:22px;top:14px;width:130px;height:1px;background:linear-gradient(90deg,transparent,#5c7990)}
.platform-emblem{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  position:relative;
  border:1px solid var(--border-strong);
  background:radial-gradient(circle at 50% 45%,rgba(88,101,242,.16),transparent 58%),linear-gradient(145deg,rgba(10,36,52,.98),rgba(2,11,17,.995));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.022),0 9px 22px rgba(0,0,0,.26),0 0 18px rgba(88,101,242,.08);
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
}
.platform-emblem::after{content:"";position:absolute;left:9px;right:9px;bottom:5px;height:2px;background:linear-gradient(90deg,#5865F2,rgba(88,101,242,.35),transparent)}
.platform-emblem img{width:42px;height:34px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(88,101,242,.24))}
.discord-copy .micro{color:var(--gold)}
.discord-copy h3{margin:5px 0 7px;color:var(--text-strong);font-size:25.5px;line-height:1.04;letter-spacing:-.012em}
.discord-copy p{max-width:760px;margin:0;color:var(--text-secondary);font-size:14.5px;line-height:1.56}
.discord-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px}
.discord-address{color:var(--steel2);font-size:11px;font-weight:950;letter-spacing:.035em}
.hub-status{display:inline-flex;align-items:center;gap:7px;color:var(--text-technical);font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.hub-status i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 7px rgba(66,225,105,.4)}
.discord-feature-actions{min-width:176px}
.discord-feature-actions .cta{width:100%}

.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#1a4159}
.platform-card{
  --brand:var(--steel);
  position:relative;
  min-width:0;
  min-height:230px;
  padding:21px 21px 19px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(27,70,96,.15) 0 18%,transparent 18% 74%,rgba(23,59,82,.095) 74%),linear-gradient(180deg,rgba(8,28,42,.997),rgba(3,13,20,.999));
}
.platform-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand),transparent 78%)}
.platform-card::after{content:"";position:absolute;right:-40px;top:-56px;width:145px;height:145px;border:1px solid rgba(91,166,210,.11);transform:rotate(45deg);pointer-events:none}
.platform-card.x{--brand:#dce8ee}.platform-card.youtube{--brand:#ff0033}.platform-card.twitch{--brand:#9146ff}
.platform-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.platform-identity{display:flex;align-items:center;gap:12px;min-width:0}
.platform-logo{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  flex:0 0 54px;
  border:1px solid var(--border-section);
  background:linear-gradient(145deg,rgba(9,24,34,.98),rgba(1,8,13,.99));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 20px rgba(0,0,0,.2);
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
}
.platform-logo img{display:block;width:34px;height:34px;object-fit:contain}
.platform-card.x .platform-logo{border-color:#5d7480}.platform-card.x .platform-logo img{width:30px;height:30px}
.platform-card.youtube .platform-logo{border-color:#7f3141;background:radial-gradient(circle,rgba(255,0,0,.11),transparent 68%),rgba(1,8,13,.9)}
.platform-card.youtube .platform-logo img{width:35px;height:35px;filter:drop-shadow(0 0 9px rgba(255,0,0,.28))}
.platform-card.twitch .platform-logo{border-color:#6445a2;background:radial-gradient(circle,rgba(145,70,255,.13),transparent 68%),rgba(1,8,13,.9)}
.platform-card.twitch .platform-logo img{width:34px;height:34px;filter:drop-shadow(0 0 9px rgba(145,70,255,.28))}
.platform-brand{min-width:0}.platform-brand b{display:block;color:var(--text-strong);font-size:15px;font-weight:950;line-height:1}.platform-brand span{display:block;margin-top:5px;color:var(--text-technical);font-size:9.5px;font-weight:950;letter-spacing:.125em;text-transform:uppercase}
.platform-live{display:inline-flex;align-items:center;gap:6px;padding-top:6px;color:var(--text-technical);font-size:9.5px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.platform-live::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 7px rgba(66,225,105,.4)}
.platform-role{position:relative;z-index:1;margin-top:18px;color:var(--steel2);font-size:10.5px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.platform-card h3{position:relative;z-index:1;margin:6px 0 7px;color:var(--text-strong);font-size:21.5px;line-height:1.07;letter-spacing:-.01em}
.platform-card p{position:relative;z-index:1;margin:0 0 16px;color:var(--text-secondary);font-size:13px;line-height:1.52}
.platform-launch{position:relative;z-index:1;align-self:flex-start;margin-top:auto;padding-top:0;color:var(--text-inverse)}
.platform-launch::after{content:"›";font-size:16px;font-weight:950;line-height:.7}

.mail-contact{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  margin-top:12px;
  padding:16px 17px 16px 16px;
  border:1px solid var(--border-authority);
  border-left:7px solid var(--gold);
  background:linear-gradient(92deg,rgba(81,69,15,.41),rgba(7,25,35,.99) 28%,rgba(3,13,20,.998));
  box-shadow:0 12px 28px rgba(0,0,0,.2);
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,10px 100%,0 calc(100% - 10px));
}
.mail-logo{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--border-authority-strong);background:linear-gradient(145deg,rgba(24,24,16,.92),rgba(4,12,17,.92));clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.mail-logo img{width:32px;height:32px;object-fit:contain}
.mail-copy{min-width:0}.mail-copy .micro{color:var(--gold);margin-bottom:3px}.mail-copy strong{display:block;color:var(--text-strong);font-size:16.5px;line-height:1.1}.mail-copy>span{display:block;margin-top:3px;color:var(--text-secondary);font-size:11px;line-height:1.38}.mail-copy .contact-instruction{margin-top:5px;color:var(--text-muted);font-size:10.5px}
.direct-address{display:inline-flex;margin-top:5px;padding-bottom:1px;border-bottom:1px solid rgba(138,200,233,.34);color:var(--steel2);font-size:11px;font-weight:950;text-decoration:none}.direct-address:hover{color:var(--text-strong);border-bottom-color:var(--steel2)}
.mail-action{min-width:142px;background:linear-gradient(180deg,var(--sto-pressed-top),var(--sto-pressed-mid) 48%,var(--sto-pressed-break) 52%,var(--sto-pressed-low));color:var(--text-inverse-authority)}
.mail-action img{width:13px;height:13px}.mail-action.is-copied{background:linear-gradient(180deg,#72ed8f,#42e169 48%,#32c953 52%,#249a3e);color:var(--text-inverse-success)}
.copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:980px){
  .leadership-grid{grid-template-columns:1fr}
  .platform-grid{grid-template-columns:1fr}
  .platform-card{min-height:0}
  .platform-card p{min-height:0}
  .discord-feature{grid-template-columns:66px minmax(0,1fr)}
  .discord-feature-actions{grid-column:1 / -1;padding-left:89px}
}
@media (max-width:700px){
  .discord-feature{grid-template-columns:1fr;padding:24px 20px}
  .platform-emblem{width:60px;height:60px}
  .discord-feature-actions{grid-column:auto;padding-left:0}
  .mail-contact{grid-template-columns:52px 1fr}
  .mail-action{grid-column:1 / -1;width:100%}
  .comms-commandbar{align-items:flex-start;flex-direction:column;gap:4px}
}
@media (max-width:520px){
  .leader-card{grid-template-columns:64px minmax(0,1fr)}
  .leader-avatar{width:64px;height:64px}
  .leader-contact{grid-column:1 / -1;margin-top:11px;width:100%}
}


/* ==========================================================================
   ERROR PAGE
   ========================================================================== */
.error-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 0;
}
.error-panel{
  width:min(720px,calc(100% - 36px));
  padding:42px;
  border:1px solid var(--border-panel);
  border-left:7px solid var(--gold);
  background:linear-gradient(100deg,rgba(71,60,12,.14),rgba(6,20,29,.98) 30%,rgba(3,12,19,.99));
  box-shadow:var(--shadow);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,12px 100%,0 calc(100% - 12px));
}
.error-panel .micro{color:var(--steel2)}
.error-panel h1{margin:10px 0 12px;font-size:clamp(38px,7vw,64px);line-height:.95}
.error-panel p{color:var(--text-secondary);font-size:17px;line-height:1.55}
.error-panel .cta{margin-top:12px}

@media (max-width:560px){.error-panel{padding:30px 25px}}


/* ==========================================================================
   PTF SHARED PAGE SYSTEM — HOME IS THE LAYOUT AUTHORITY
   Home's canvas, hero geometry, type scale and responsive rhythm are the
   default for every public page. Page-specific deviation is allowed only
   where the content itself requires it.
   ========================================================================== */

/* Connect and Structure now use the exact Home .hero component in markup.
   Keep page-specific content, not page-specific hero geometry. */

/* ==========================================================================
   STRUCTURE — FINAL LIVE-STATE COMPONENT SYSTEM
   Public current-state display: floating equal-footprint fleet identity
   plates, authentic emblems, restrained FED/KDF accents, readable telemetry.
   ========================================================================== */

/* Stats belong immediately after the shared Home hero and use normal PTF type. */
.structure-overview{
  margin-top:18px;
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-top:3px solid var(--steel);
  background:linear-gradient(180deg,rgba(7,25,38,.985),rgba(3,12,19,.995));
  box-shadow:0 14px 32px rgba(0,0,0,.24);
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
}
.structure-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:var(--surface-grid);
}
.structure-stat{
  min-width:0;
  min-height:78px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  align-content:center;
  column-gap:11px;
  padding:12px 16px 11px;
  background:
    linear-gradient(135deg,rgba(31,75,102,.13) 0 18%,transparent 18%),
    linear-gradient(180deg,rgba(8,28,42,.995),rgba(3,13,20,.998));
}
.structure-stat .micro{
  grid-column:1/-1;
  margin-bottom:5px;
  color:var(--fed-accent-bright);
  font-size:11px;
}
.structure-stat strong{
  align-self:end;
  color:var(--text-primary);
  font-size:32px;
  font-weight:950;
  line-height:.94;
  font-variant-numeric:tabular-nums;
}
.structure-stat span{
  align-self:end;
  padding-bottom:2px;
  color:var(--text-muted);
  font-size:12px;
  font-weight:750;
  line-height:1.22;
}
.structure-stat.authority strong{color:var(--gold)}

.current-armadas{padding-top:34px;padding-bottom:30px}
.current-armadas .section-head,
.secondary-armada-section .section-head{grid-template-columns:auto;margin-bottom:12px}
.current-armadas .section-title,
.secondary-armada-section .section-title{
  min-width:245px;
  min-height:38px;
  font-size:21px;
}

/* The Home canvas remains 1240px. The prime Armada composition is centered
   inside it and collapses only when the two real data objects stop fitting. */
.prime-armada-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  justify-content:stretch;
  gap:16px;
  width:100%;
  align-items:start;
}
.prime-armada-grid > .armada-panel{
  width:min(538px,100%);
  justify-self:start;
}

.armada-panel{
  --faction:var(--fed-accent);
  --faction-bright:var(--fed-accent-bright);
  --faction-rgb:91,166,210;

  /* Fleet hierarchy: one faction hue, descending visual strength. */
  --tier-rgb:91,166,210;
  position:relative;
  min-width:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
  clip-path:none;
}
.armada-panel.kdf{
  --faction:var(--kdf-accent);
  --faction-bright:var(--kdf-accent-bright);
  --faction-rgb:220,81,73;

  --tier-rgb:220,81,73;
}
.armada-header{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:76px;
  margin-bottom:10px;
  padding:13px 14px 12px;
  overflow:hidden;
  border:1px solid rgba(var(--faction-rgb),.38);
  border-top:3px solid var(--faction);
  background:
    linear-gradient(105deg,rgba(var(--faction-rgb),.15),transparent 43%),
    linear-gradient(180deg,var(--surface-command),var(--surface-deep));
  box-shadow:0 13px 30px rgba(0,0,0,.31);
  clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,9px 100%,0 calc(100% - 9px));
}
.armada-panel.kdf .armada-header{border-color:rgba(var(--faction-rgb),.42)}
.armada-header::after{
  content:"";
  position:absolute;
  right:16px;
  bottom:0;
  width:116px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--faction));
}
.armada-identity{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.armada-emblem-img{
  display:block;
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:contain;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.46));
}
.armada-identity .micro{
  color:var(--faction);
  font-size:10.5px;
}
.armada-identity h3{
  margin:4px 0 0;
  color:var(--text-strong);
  font-size:25px;
  line-height:1.02;
  letter-spacing:-.018em;
}
.armada-panel.kdf .armada-identity h3{color:var(--text-strong)}
.armada-totals{display:flex;align-items:center;white-space:nowrap}
.armada-totals span{
  padding:2px 9px 1px;
  border-left:1px solid rgba(var(--faction-rgb),.34);
  color:var(--text-technical);
  font-size:10.5px;
  font-weight:950;
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.armada-totals b{
  display:block;
  margin-bottom:3px;
  color:var(--text-primary);
  font-size:22px;
  line-height:.9;
  font-variant-numeric:tabular-nums;
}

.armada-body{position:relative;overflow:visible;padding:6px 8px 12px;background:none}
.slot-kicker{
  display:block;
  height:17px;
  margin:0;
  pointer-events:none;
}
.slot-kicker::before,
.slot-kicker::after{
  content:none;
}
.alpha-slot{margin-bottom:18px}
.fleet-branch{position:relative;margin-top:19px;padding:0;background:none}
.fleet-branch:first-of-type{margin-top:14px}
.fleet-branch::before{
  content:"";
  position:absolute;
  left:8px;
  top:7px;
  bottom:8px;
  width:2px;
  opacity:.54;
  background:linear-gradient(
    180deg,
    rgba(var(--tier-rgb),.42),
    rgba(var(--tier-rgb),.08)
  );
}
.gamma-stack{position:relative;margin:10px 0 0;padding:0}
.gamma-stack .fleet-card + .fleet-card{margin-top:10px}

/* Equal physical footprint. Hierarchy is expressed by placement, rail and
   accent rather than different card sizes or grid/table cells. */
.fleet-card{
  --role-rgb:var(--tier-rgb);
  --role-accent:rgba(var(--role-rgb),.88);
  --role-wash:rgba(var(--role-rgb),.045);
  position:relative;
  width:min(520px,calc(100% - 18px));
  margin:0;
  overflow:visible;
  border:0;
  background:none;
}
.fleet-card.alpha{
  --role-accent:rgb(var(--role-rgb));
  --role-wash:rgba(var(--role-rgb),.095);
  margin-left:0;
}
.fleet-card.beta{
  --role-accent:rgba(var(--role-rgb),.88);
  --role-wash:rgba(var(--role-rgb),.045);
  margin-left:14px;
}
.fleet-card.gamma{
  --role-accent:rgba(var(--role-rgb),.56);
  --role-wash:rgba(var(--role-rgb),.008);
  margin-left:36px;
}
.fleet-card.gamma::before{
  content:"";
  position:absolute;
  left:-24px;
  top:50%;
  width:17px;
  height:1px;
  background:rgba(var(--role-rgb),.25);
}

.fleet-summary{
  position:relative;
  list-style:none;
  min-width:0;
  height:64px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 118px 22px;
  grid-template-rows:22px 1fr;
  grid-template-areas:"emblem role metrics toggle" "emblem name metrics toggle";
  align-items:center;
  gap:0;
  padding:8px 7px 9px 13px;
  cursor:pointer;
  user-select:none;
  border:1px solid rgba(var(--role-rgb),.30);
  border-left:3px solid var(--role-accent);
  background:
    linear-gradient(100deg,var(--role-wash),transparent 44%),
    linear-gradient(180deg,rgba(11,34,46,.93),rgba(6,18,26,.95));
  box-shadow:
    0 11px 22px rgba(0,0,0,.38),
    0 0 0 1px rgba(1,8,12,.42),
    inset 0 1px 0 rgba(255,255,255,.045);
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,8px 100%,0 calc(100% - 8px));
  transition:transform .09s linear,background .09s linear,border-color .09s linear,box-shadow .09s linear;
}
.fleet-summary::-webkit-details-marker{display:none}
.fleet-summary:hover{
  transform:translateY(-1px);
  border-color:rgba(var(--role-rgb),.62);
  background:
    linear-gradient(100deg,var(--role-wash),transparent 44%),
    linear-gradient(180deg,rgba(18,48,64,.96),rgba(7,22,31,.97));
}
.fleet-summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.fleet-card[open] .fleet-summary{border-color:var(--role-accent)}

.fleet-emblem-img{
  grid-area:emblem;
  display:block;
  width:40px;
  height:40px;
  align-self:center;
  justify-self:start;
  transform:translateX(-4px);
  object-fit:contain;
}
.fleet-role{
  grid-area:role;
  position:relative;
  justify-self:start;
  width:max-content;
  max-width:100%;
  align-self:end;
  min-width:0;
  color:var(--text-technical);
  font-size:10px;
  font-weight:950;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fleet-card.alpha .fleet-role,
.fleet-card.beta .fleet-role,
.fleet-card.gamma .fleet-role{color:var(--faction-bright)}

/* Pass 26 — compact Greek role signatures.
   Decorative overlay only: does not participate in layout. */
.fleet-role::after{
  position:absolute;
  left:calc(100% + 4px);
  bottom:0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  color:currentColor;
  pointer-events:none;
}
.fleet-card.alpha .fleet-role::after{content:"α"}
.fleet-card.beta .fleet-role::after{content:"β"}
.fleet-card.gamma .fleet-role::after{content:"γ"}

.fleet-name{
  grid-area:name;
  align-self:start;
  min-width:0;
  padding:3px 8px 0 0;
  color:var(--text-primary);
  font-size:16px;
  font-weight:900;
  line-height:1.12;
  overflow:hidden;
  text-overflow:clip;
  white-space:nowrap;
}
.fleet-card.alpha .fleet-name,
.fleet-card.beta .fleet-name{color:var(--text-strong)}

.fleet-metrics{
  grid-area:metrics;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:118px;
  padding:0 2px 0 5px;
}
.fleet-metrics span{
  color:var(--text-technical);
  font-size:10px;
  font-weight:950;
  line-height:1.02;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.fleet-metrics b{
  display:block;
  margin-bottom:3px;
  color:var(--text-primary);
  font-size:20px;
  line-height:.9;
  font-variant-numeric:tabular-nums;
}
.owner-toggle{
  grid-area:toggle;
  position:relative;
  min-width:0;
  align-self:stretch;
  display:grid;
  place-items:center;
  color:transparent;
  font-size:0;
}
.owner-toggle::after{
  content:"›";
  color:var(--gold);
  font-family:Arial,sans-serif;
  font-size:23px;
  font-weight:900;
  line-height:1;
  transition:transform .12s ease;
}
.fleet-card[open] .owner-toggle::after{transform:rotate(90deg)}

.fleet-owner{
  display:flex;
  align-items:center;
  gap:11px;
  width:calc(100% - 14px);
  margin:2px 0 0 7px;
  padding:9px 13px 9px 14px;
  border-left:2px solid var(--role-accent);
  background:linear-gradient(90deg,rgba(16,48,65,.62),rgba(4,15,22,.92));
  box-shadow:0 8px 16px rgba(0,0,0,.22);
  clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
.armada-panel.kdf .fleet-owner{
  background:linear-gradient(90deg,rgba(75,32,30,.30),rgba(4,14,21,.95));
}
.fleet-owner span{
  color:var(--text-technical);
  font-size:10px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.fleet-owner strong{color:var(--gold);font-size:14.5px;font-weight:950}

/* FED II stays in the same system; two branches per row is a content-specific
   density choice, not a new component language. */
.secondary-armada-section{padding-top:34px}
.secondary-armada-section .armada-panel{
  max-width:1092px;
  margin-inline:auto;
}
.secondary-body{padding-bottom:15px}
.secondary-branch-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
  align-items:start;
}
.secondary-branch-grid .fleet-branch{margin-top:0}
.secondary-branch-grid .fleet-card{width:min(520px,calc(100% - 18px))}
.secondary-branch-grid .gamma-stack{margin-top:8px}
.secondary-branch-grid .gamma-stack .fleet-card + .fleet-card{margin-top:8px}

/* Fleet names self-fit only when a real long name needs it. JS reduces the
   name in small increments down to a controlled floor; normal names remain 16px. */
.fleet-name.is-fitted{letter-spacing:-.01em}

/* Two prime Armada objects genuinely stop fitting before Home's 980px content
   breakpoint, so this is the one justified page-specific structural breakpoint. */
@media (max-width:1120px){
  .prime-armada-grid{grid-template-columns:minmax(0,538px)}
  .secondary-branch-grid{grid-template-columns:1fr}
  .secondary-armada-section .armada-panel{max-width:538px}
}
@media (max-width:980px){
  .structure-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .armada-header{grid-template-columns:1fr;gap:8px}
  .armada-totals span:first-child{padding-left:0;border-left:0}
  .fleet-card,
  .secondary-branch-grid .fleet-card{width:calc(100% - 18px)}
  .fleet-card.beta{margin-left:7px}
  .fleet-card.gamma{margin-left:20px}
  .fleet-summary{
    grid-template-columns:38px minmax(0,1fr) 112px 20px;
    height:64px;
  }
  
  .fleet-name{font-size:14px}
  .fleet-metrics{min-width:112px;gap:8px}
  .fleet-metrics span{font-size:8px}
  .fleet-metrics b{font-size:16px}
  .fleet-emblem-img{
    width:34px;
    height:34px;
    transform:translateX(-3px);
  }
}
@media (max-width:520px){
  .structure-summary{grid-template-columns:1fr}
  .armada-totals{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
  }
  .fleet-summary{
    height:auto;
    min-height:66px;
    grid-template-columns:36px minmax(0,1fr) 104px 18px;
  }
  .fleet-name{
    white-space:normal;
    line-height:1.05;
  }
  .fleet-metrics{min-width:104px;gap:6px}
  .fleet-emblem-img{
    width:32px;
    height:32px;
    transform:translateX(-3px);
  }
}


/* Hierarchy weight ladder: same faction hue, different strength. */
.fleet-card.alpha .fleet-summary{
  border-left-width:5px;
  border-color:rgba(var(--role-rgb),.44);
  background:
    linear-gradient(100deg,rgba(var(--role-rgb),.095),transparent 44%),
    linear-gradient(180deg,rgba(12,36,50,.95),rgba(6,20,29,.96));
  box-shadow:
    0 12px 24px rgba(0,0,0,.40),
    0 0 0 1px rgba(var(--role-rgb),.14),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.fleet-card.alpha .fleet-role,
.fleet-card.beta .fleet-role,
.fleet-card.gamma .fleet-role{
  font-size:10.6px;
}
.fleet-card.beta .fleet-summary{
  border-left-width:3px;
  border-color:rgba(var(--role-rgb),.30);
}
.fleet-card.gamma .fleet-summary{
  border-left-width:2px;
  border-color:rgba(var(--role-rgb),.16);
}






/* Pass 32 — exact role bonus icons for all fleet roles.
   Alpha = XP, Beta = mixed XP+Dil, Gamma = Dil. Badge trial removed. */
.fleet-role-rich{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
}
.fleet-role-rich::after{content:none !important;}
.fleet-role-rich .role-word{
  display:inline-block;
  line-height:1;
}
.fleet-role-rich .role-marker{
  display:inline-block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  transform:translateY(-1px);
}
.fleet-role-bonus{
  display:block;
  width:auto;
  height:20px;
  max-width:22px;
  object-fit:contain;
  transform:translateY(-1px);
  filter:drop-shadow(0 0 4px rgba(255,255,255,.12));
}
.fleet-card.alpha .fleet-summary{
  grid-template-columns:44px minmax(0,1fr) 118px 22px;
}
.fleet-card.alpha .fleet-metrics{
  min-width:118px;
  gap:10px;
  padding:0 2px 0 5px;
}
@media (max-width:760px){
  .fleet-role-rich{gap:4px;}
  .fleet-role-rich .role-marker{font-size:15px;}
  .fleet-role-bonus{height:18px;max-width:20px;}
  .fleet-status-star{width:18px;height:18px;flex-basis:18px;}
  .fleet-card.alpha .fleet-summary{grid-template-columns:38px minmax(0,1fr) 112px 20px;}
  .fleet-card.alpha .fleet-metrics{min-width:112px;gap:8px;}
}
@media (max-width:520px){
  .fleet-role-rich{gap:3px;}
  .fleet-role-rich .role-marker{font-size:14px;}
  .fleet-role-bonus{height:17px;max-width:19px;}
  .fleet-status-star{width:17px;height:17px;flex-basis:17px;}
  .fleet-card.alpha .fleet-summary{grid-template-columns:36px minmax(0,1fr) 104px 18px;}
  .fleet-card.alpha .fleet-metrics{min-width:104px;gap:6px;}
}

/* Pass 35 — Structure Codex.
   Occupies the intentional whitespace above the KDF prime column. Status stars
   are the compact card-scale vocabulary; no fleet status is assigned here. */
.current-armadas .section-head{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
  gap:16px;
}
.structure-codex{
  justify-self:stretch;
  min-width:0;
  padding:7px 12px 8px;
  border:1px solid rgba(91,166,210,.22);
  border-left:2px solid rgba(240,212,79,.70);
  background:
    linear-gradient(105deg,rgba(11,32,45,.82),rgba(3,10,13,.68) 68%),
    rgba(3,7,6,.72);
  box-shadow:0 8px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.025);
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.codex-title{
  margin:0 0 4px;
  color:var(--steel2);
  font-size:9px;
  font-weight:950;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.codex-line{
  display:grid;
  grid-template-columns:76px repeat(3,minmax(0,1fr));
  align-items:center;
  column-gap:8px;
  min-height:20px;
}
.codex-line + .codex-line{
  margin-top:2px;
  padding-top:2px;
  border-top:1px solid rgba(91,166,210,.12);
}
.codex-label{
  color:var(--text-technical);
  font-size:8.5px;
  font-weight:950;
  line-height:1;
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}
.codex-item{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:var(--text-muted);
  font-size:9px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}
.codex-item img{
  display:block;
  width:auto;
  height:18px;
  max-width:20px;
  object-fit:contain;
  flex:0 0 auto;
}
.codex-item img.codex-status{
  width:18px;
  height:18px;
}
.codex-greek{
  color:var(--steel2);
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:800;
  line-height:1;
}
/* Card placement contract for the future per-fleet PTF status assignment:
   role -> Greek -> Armada bonus -> PTF status star. */
.fleet-status-star{
  display:block;
  width:20px;
  height:20px;
  flex:0 0 20px;
  object-fit:contain;
  transform:translateY(-1px);
}
@media (max-width:1120px){
  .current-armadas .section-head{
    grid-template-columns:minmax(0,538px);
    justify-content:start;
  }
  .structure-codex{width:min(538px,100%);}
}
@media (max-width:650px){
  .structure-codex{padding:7px 9px 8px;}
  .codex-line{grid-template-columns:66px repeat(3,minmax(0,1fr));column-gap:5px;}
  .codex-label{font-size:8px;}
  .codex-item{gap:3px;font-size:8px;}
  .codex-item img{height:16px;max-width:18px;}
  .codex-item img.codex-status{width:16px;height:16px;}
  .codex-greek{font-size:13px;}
}
