:root{--font-display:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}

:root{
  --bg:#111820;--bg2:#162129;--text:#e9e1d0;--muted:#b6ad9d;--soft:#d8cfbe;
  --line:rgba(255,255,255,.10);--line2:rgba(255,255,255,.16);--accent:#86aeb7;--gold:#c6a367;
  --done:#1f5b36;--done2:#163a22;--active:#95cb77;--active2:#6da965;--idle:#777b79;--idle2:#626663;
  --max:1320px;--doc:1240px;--side:245px;--shadow:0 22px 60px rgba(0,0,0,.30)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);line-height:1.68;background:radial-gradient(circle at 15% 0%,rgba(134,174,183,.09),transparent 25%),linear-gradient(180deg,#0d1318,#131d24 42%,#10171d)}
a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.wrap{width:min(calc(100% - 38px),var(--max));margin:0 auto}.narrow{width:min(calc(100% - 38px),980px);margin:0 auto}
.topbar{position:sticky;top:0;z-index:100;background:rgba(8,12,15,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:14px;overflow:hidden;border:1px solid var(--line2)}.brand strong{display:block;font-size:.98rem}.brand span{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav a{padding:9px 12px;border-radius:999px;color:#d8cfbf;font-size:.92rem}.nav a:hover,.nav a.active{background:rgba(255,255,255,.07);color:#fff}.menu-btn{display:none;background:#16232b;border:1px solid var(--line2);color:var(--text);border-radius:12px;padding:8px 10px;font:inherit}
.home-hero{min-height:calc(100vh - 71px);display:flex;align-items:flex-end;position:relative;background-image:linear-gradient(180deg,rgba(5,8,10,.10),rgba(5,8,10,.40) 45%,rgba(5,8,10,.86)),url('../images/project-server.jpg');background-size:cover;background-position:center;border-bottom:1px solid var(--line)}.home-copy{padding:78px 0}.kicker{color:var(--gold);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.home-copy h1,.page-hero h1{font-size:clamp(3rem,7vw,6.6rem);line-height:.91;letter-spacing:-.06em;margin:10px 0 18px}.lead{font-size:clamp(1.08rem,2vw,1.32rem);max-width:850px;color:#e7dfce}.intro{padding:54px 0 34px}.intro p{max-width:920px;color:#d8cfbe;font-size:1.05rem}.intro dl{display:grid;grid-template-columns:190px 1fr;gap:10px 24px;max-width:900px;margin:24px 0 0}.intro dt{color:var(--gold);font-weight:800}.intro dd{margin:0;color:#d8cfbe}.page-hero{padding:64px 0 30px;border-bottom:1px solid var(--line)}.page-hero p{max-width:900px;color:#d6cebe;font-size:1.08rem}.main{padding:36px 0 58px}
.doc-layout{display:grid;grid-template-columns:var(--side) minmax(0,var(--doc));gap:38px;align-items:start}.side-nav{position:sticky;top:88px;border-right:1px solid var(--line);padding:10px 18px 10px 0}.side-nav h3{margin:0 0 14px;color:var(--gold);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}.side-nav a{display:block;color:#cfc6b6;padding:8px 0;font-size:.96rem}.side-nav a:hover,.side-nav a.active{color:#fff}.article{max-width:var(--doc)}.article h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.04em;line-height:1.02;margin:0 0 12px}.article h3{font-size:1.2rem;margin:28px 0 8px;color:#fff}.article section{padding:0 0 38px;border-bottom:1px solid var(--line);margin-bottom:34px}.article section:last-child{border-bottom:0}.article p,.article li{color:#d9d1c1}.article ul{padding-left:20px}.article figure{margin:26px 0 0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#101820}.article figure img,.article figure video{width:100%;max-height:520px;object-fit:cover}.article figcaption{padding:12px 14px;color:var(--muted);font-size:.9rem}.system-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 34px;margin-top:20px}.system-list div{border-top:1px solid var(--line);padding-top:12px}.system-list strong{display:block;color:#fff;margin-bottom:4px}.system-list span{color:var(--muted);font-size:.95rem}.media-wide{margin:32px 0;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.media-wide img{width:100%;max-height:520px;object-fit:cover}
.roadmap-panel{margin-top:28px}.tab-row{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.tab{padding:10px 14px;border:1px solid var(--line2);border-radius:999px;background:transparent;color:#ddd4c4;font-weight:800;cursor:pointer}.tab.active,.tab:hover{background:rgba(255,255,255,.08);color:#fff}.roadmap-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch;margin-bottom:28px}.roadmap-visual{min-height:300px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background-size:cover;background-position:center;box-shadow:var(--shadow)}.roadmap-summary h2{font-size:2.2rem;line-height:1;margin:0 0 10px}.roadmap-summary p{color:#d6cebe}.legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.legend span{display:inline-flex;align-items:center;gap:8px;color:#d7cfbf;font-size:.9rem}.dot{width:12px;height:12px;border-radius:99px}.done-dot{background:linear-gradient(145deg,var(--done),var(--done2))}.active-dot{background:linear-gradient(145deg,var(--active),var(--active2))}.idle-dot{background:linear-gradient(145deg,var(--idle),var(--idle2))}.progress-bar{height:12px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden;margin-top:18px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--done),var(--active))}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stage-card{padding:18px;border-radius:20px;min-height:205px}.stage-card.done{background:linear-gradient(145deg,var(--done),var(--done2));color:#eef6ef}.stage-card.active{background:linear-gradient(145deg,var(--active),var(--active2));color:#132817}.stage-card.idle{background:linear-gradient(145deg,var(--idle),var(--idle2));color:#f3f0e8}.stage-status{display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;opacity:.85}.stage-title{font-size:1.35rem;line-height:1.05;margin:14px 0 8px}.stage-text{font-size:.94rem;opacity:.88}.stage-note{font-size:.84rem;font-weight:800;margin-top:12px}.subtab-pane{display:none}.subtab-pane.active{display:block}
.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 24px}.section-tab{padding:9px 12px;border-radius:14px;border:1px solid var(--line2);background:transparent;color:#dcd3c3;font-weight:800;cursor:pointer}.section-tab.active,.section-tab:hover{background:rgba(255,255,255,.08)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-thumb{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:inherit}.gallery-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.03)}.gallery-card img,.gallery-card video{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-card strong{display:block;padding:11px 12px;font-size:.92rem}.gallery-pane,.gallery-section{display:none}.gallery-pane.active,.gallery-section.active{display:block}.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:300}.lightbox.active{display:flex}.lightbox-bg{position:absolute;inset:0;background:rgba(4,7,9,.86);backdrop-filter:blur(6px)}.lightbox-panel{position:relative;z-index:1;width:min(94vw,1180px);background:#101820;border:1px solid var(--line2);border-radius:24px;padding:16px}.lightbox-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.lightbox-title{font-weight:800}.lightbox-close{background:rgba(255,255,255,.08);border:1px solid var(--line2);border-radius:12px;color:#fff;padding:9px 12px}.lightbox-media{width:100%;max-height:78vh;object-fit:contain;border-radius:16px;background:#080d10}
.staff-section{margin-bottom:42px}.staff-section h2{font-size:2rem;margin:0 0 16px}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.person{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:16px 0}.pfp{width:68px;height:68px;border-radius:18px;overflow:hidden;background:#1b2830;display:grid;place-items:center;font-weight:900;flex:0 0 68px}.pfp img{width:100%;height:100%;object-fit:cover}.person strong{display:block;font-size:1.08rem}.roles{color:var(--muted);font-size:.94rem}.link-list{max-width:760px}.link-row{border-top:1px solid var(--line);padding:20px 0}.link-row a{display:inline-block;color:#fff;font-weight:900;text-decoration:underline;text-underline-offset:4px}.link-row p{color:var(--muted);margin:6px 0 0}.footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:.9rem;margin-top:40px}
@media(max-width:1050px){.doc-layout{grid-template-columns:1fr}.side-nav{position:relative;top:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px}.side-nav a{display:inline-block;margin-right:14px}.roadmap-top,.system-list{grid-template-columns:1fr}.stage-grid,.staff-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.menu-btn{display:block}.nav{display:none;width:100%;padding-top:8px}.nav.open{display:flex}.topbar-inner{align-items:flex-start;flex-wrap:wrap}.home-copy h1,.page-hero h1{font-size:3rem}.intro dl{grid-template-columns:1fr}.stage-grid,.staff-grid,.gallery-grid{grid-template-columns:1fr}.home-hero{min-height:75vh}}

.tech-table{width:100%;border-collapse:collapse;margin:18px 0 8px;border-top:1px solid var(--line);font-size:.95rem}.tech-table th,.tech-table td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}.tech-table th{color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.pill-list{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.pill-list span{border:1px solid var(--line2);border-radius:999px;padding:7px 11px;color:#e5dccb;background:rgba(255,255,255,.035);font-weight:700;font-size:.9rem}.note-line{border-left:3px solid var(--gold);padding-left:14px;color:#d9d1c1;margin:18px 0}.article code{background:rgba(255,255,255,.07);padding:2px 5px;border-radius:6px;color:#fff}.doc-layout{grid-template-columns:260px minmax(0,var(--doc));}

.article p{font-size:1.03rem}.article h2{margin-top:2px}.page-hero{background-position:center}.article .tech-table td:first-child{font-weight:800;color:#fff;width:28%}.article .system-list{grid-template-columns:1fr 1fr}.article .note-line{font-size:1.05rem}
@media(max-width:900px){.article .system-list{grid-template-columns:1fr}}


/* v9 mod community refresh */
.article p,.article li{font-size:1.05rem;line-height:1.78;max-width:78ch}.article ul{margin:10px 0 0}.article h2{font-size:clamp(2rem,3.1vw,3rem);margin-bottom:14px}.article section{padding:0 0 44px;margin-bottom:40px}.placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.ph-card{aspect-ratio:4/3;border:1px solid var(--line2);border-radius:20px;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02));box-shadow:var(--shadow)}.ph-card span{font-weight:800;color:#efe6d6;font-size:1rem;letter-spacing:.01em}.side-nav{padding-top:4px}.page-hero p{max-width:760px}.article section > p:last-child{margin-bottom:0}@media(max-width:1050px){.placeholder-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.placeholder-grid{grid-template-columns:1fr}}

/* v10 SEO/public mod pages */
.seo-article p, .seo-article li {
  font-size: 1.04rem;
  line-height: 1.76;
  max-width: 82ch;
}
.seo-article strong { color: #fff; }
.clean-table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 8px;
  font-size: .96rem;
  border-top: 1px solid var(--line);
}
.clean-table th, .clean-table td {
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  text-align: left;
  vertical-align: top;
}
.clean-table th {
  color: var(--gold);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.clean-table td:first-child {
  font-weight: 800;
  color: #fff;
  width: 24%;
}
.image-slot {
  margin: 26px 0 0;
  min-height: 260px;
  border-radius: 18px;
  border: 1px dashed rgba(200,166,106,.45);
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}
.image-slot div {
  color: #efe6d6;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: lowercase;
}
.placeholder-grid { display: none !important; }
.ph-card { display: none !important; }
@media(max-width:720px){
  .clean-table th, .clean-table td { padding: 10px 8px; }
  .image-slot { min-height: 180px; }
}


/* v11 stronger public sales pages */
.seo-article h2 {
  letter-spacing: -.02em;
}
.seo-article p {
  font-size: 1.08rem;
  line-height: 1.78;
}
.cta-panel {
  margin-top: 32px;
  padding: 28px;
  border: 1px solid rgba(200,166,106,.38);
  border-radius: 24px;
  background:
    radial-gradient(circle at top left, rgba(200,166,106,.16), transparent 36%),
    rgba(255,255,255,.035);
}
.cta-panel p {
  max-width: 76ch;
}
.cta-panel .btn {
  display: inline-flex;
  margin-top: 8px;
}
.clean-table td:first-child {
  color: #ffe3aa;
}
.image-slot {
  min-height: 220px;
}


/* v12 canon-accuracy sell pass */
.page-hero h1 {
  max-width: 980px;
}
.page-hero p {
  max-width: 900px;
}
.seo-article section:first-child p:first-of-type {
  font-size: 1.18rem;
  line-height: 1.72;
}
.seo-article h2 {
  color: #f7eedf;
}


/* v13 plain, understandable mod structure */
.compact-hero {
  padding-top: 56px;
  padding-bottom: 38px;
}
.compact-hero h1 {
  max-width: 880px;
}
.compact-hero p {
  max-width: 850px;
}
.plain-article section {
  padding-bottom: 34px;
  margin-bottom: 30px;
}
.plain-article h2 {
  font-size: clamp(1.75rem, 2.6vw, 2.45rem);
  margin-bottom: 10px;
}
.plain-article p,
.plain-article li {
  font-size: 1.04rem;
  line-height: 1.72;
  max-width: 82ch;
}
.plain-article strong {
  color: #fff;
}
.side-nav h3 {
  letter-spacing: .04em;
}
.clean-table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 8px;
  font-size: .95rem;
  border-top: 1px solid var(--line);
}
.clean-table th, .clean-table td {
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  text-align: left;
  vertical-align: top;
}
.clean-table th {
  color: var(--gold);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.clean-table td:first-child {
  font-weight: 800;
  color: #ffe3aa;
  width: 24%;
}
.image-slot {
  margin: 22px 0 0;
  min-height: 210px;
  border-radius: 18px;
  border: 1px dashed rgba(200,166,106,.38);
  background: linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.012));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}
.image-slot div {
  color: #efe6d6;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: lowercase;
}
@media(max-width:720px){
  .image-slot { min-height: 160px; }
}








/* v17 homepage simplified */
.home-hero {
  min-height: 66vh;
  display: flex;
  align-items: end;
  padding: 78px 0 44px;
}
.home-hero .wrap {
  max-width: 1280px;
}
.home-hero .kicker {
  color: var(--gold);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .14em;
  margin-bottom: 10px;
}
.home-hero h1 {
  max-width: 560px;
  font-size: clamp(2.6rem, 5vw, 4.85rem);
  line-height: .93;
  letter-spacing: -.055em;
  margin: 0 0 14px;
}
.home-hero p {
  max-width: 620px;
  font-size: clamp(1rem, 1.45vw, 1.15rem);
  line-height: 1.52;
  color: #eadfcd;
  margin: 0;
}
.home-summary {
  max-width: 980px;
  padding-top: 34px;
  padding-bottom: 8px;
}
.home-summary p {
  max-width: 84ch;
  font-size: 1.08rem;
  line-height: 1.74;
  color: #ddd5c7;
  margin: 0;
}
.home-summary strong {
  color: #fff;
}
@media (max-width: 900px) {
  .home-hero {
    min-height: 60vh;
    padding: 72px 0 38px;
  }
  .home-hero h1 {
    max-width: 480px;
    font-size: clamp(2.2rem, 8vw, 3.7rem);
  }
  .home-hero p {
    max-width: 540px;
  }
}


/* v19 map SEO + public roadmap */
.roadmap-page {
  max-width: 1080px;
  padding-top: 42px;
}
.roadmap-page section {
  padding-bottom: 34px;
  margin-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.roadmap-page h2 {
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  margin: 0 0 10px;
}
.roadmap-page p {
  color: #ddd5c7;
  line-height: 1.72;
  max-width: 82ch;
}
.roadmap-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.roadmap-row {
  border: 1px solid rgba(255,255,255,.08);
  border-left-width: 5px;
  border-radius: 18px;
  padding: 16px 18px;
  background: rgba(255,255,255,.026);
}
.roadmap-row span {
  display: block;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  margin-bottom: 4px;
}
.roadmap-row strong {
  display: block;
  color: #fff;
  font-size: 1.12rem;
}
.roadmap-row p {
  margin: 5px 0 0;
}
.roadmap-row.complete { border-left-color: #7fcf8a; }
.roadmap-row.progress { border-left-color: #d7ae59; }
.roadmap-row.planned { border-left-color: #7aa9d8; }
.roadmap-row.complete span { color: #9be5a4; }
.roadmap-row.progress span { color: #f2cb7a; }
.roadmap-row.planned span { color: #9cc7ef; }
.status-key {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.status-key div {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 16px;
}
.status-key p {
  margin: 4px 0 0;
  font-size: .95rem;
}
.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  margin-right: 8px;
}
.dot.complete { background: #7fcf8a; }
.dot.progress { background: #d7ae59; }
.dot.planned { background: #7aa9d8; }
@media(max-width:800px){
  .status-key { grid-template-columns: 1fr; }
}


/* v20 mobile layout fix for mod/map docs */
@media (max-width: 1050px) {
  .doc-layout {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .side-nav {
    position: relative;
    top: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 0 0 16px;
    width: 100%;
  }

  .article,
  .plain-article,
  .seo-article {
    max-width: 100%;
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 720px) {
  .compact-hero {
    padding-top: 44px;
    padding-bottom: 26px;
  }

  .page-hero h1,
  .compact-hero h1 {
    font-size: clamp(2.15rem, 8vw, 3.1rem);
    line-height: .96;
    max-width: 100%;
    margin-bottom: 10px;
  }

  .page-hero p,
  .compact-hero p {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 100%;
  }

  .side-nav h3 {
    margin-bottom: 12px;
  }

  .side-nav a {
    display: block;
    margin: 0;
    padding: 10px 0;
    font-size: 1rem;
    line-height: 1.45;
  }

  .plain-article h2,
  .seo-article h2,
  .article h2 {
    font-size: clamp(1.7rem, 6.5vw, 2.2rem);
    line-height: 1.04;
  }

  .plain-article p,
  .plain-article li,
  .seo-article p,
  .seo-article li,
  .article p,
  .article li {
    font-size: 1rem;
    line-height: 1.7;
    max-width: 100%;
  }

  .clean-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .image-slot {
    min-height: 150px;
  }
}


/* v21 restore percentage roadmap */
.percent-roadmap .roadmap-row span {
  font-size: .88rem;
  letter-spacing: .10em;
}
.roadmap-row.stage-20 { border-left-color: #7aa9d8; }
.roadmap-row.stage-40 { border-left-color: #8dc3a7; }
.roadmap-row.stage-60 { border-left-color: #d7ae59; }
.roadmap-row.stage-80 { border-left-color: #d9825f; }
.roadmap-row.stage-100 { border-left-color: #7fcf8a; }

.roadmap-row.stage-20 span { color: #9cc7ef; }
.roadmap-row.stage-40 span { color: #aee0c2; }
.roadmap-row.stage-60 span { color: #f2cb7a; }
.roadmap-row.stage-80 span { color: #f0a17f; }
.roadmap-row.stage-100 span { color: #9be5a4; }

.dot.stage-20 { background: #7aa9d8; }
.dot.stage-40 { background: #8dc3a7; }
.dot.stage-60 { background: #d7ae59; }
.dot.stage-80 { background: #d9825f; }
.dot.stage-100 { background: #7fcf8a; }

.status-key {
  grid-template-columns: repeat(5,minmax(0,1fr));
}
@media(max-width:950px){
  .status-key { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px){
  .status-key { grid-template-columns: 1fr; }
}


/* v22 restore green / gray roadmap color language */
.roadmap-row.stage-20,
.roadmap-row.stage-40,
.roadmap-row.stage-60 {
  border-left-color: #78c98b !important;
}

.roadmap-row.stage-80,
.roadmap-row.stage-100 {
  border-left-color: #6f7b83 !important;
}

.roadmap-row.stage-20 span,
.roadmap-row.stage-40 span,
.roadmap-row.stage-60 span {
  color: #9fe4ad !important;
}

.roadmap-row.stage-80 span,
.roadmap-row.stage-100 span {
  color: #b7c0c5 !important;
}

.dot.stage-20,
.dot.stage-40,
.dot.stage-60 {
  background: #78c98b !important;
}

.dot.stage-80,
.dot.stage-100 {
  background: #6f7b83 !important;
}

.percent-roadmap .roadmap-row {
  background: rgba(255,255,255,.024);
}

.percent-roadmap .roadmap-row.stage-20,
.percent-roadmap .roadmap-row.stage-40,
.percent-roadmap .roadmap-row.stage-60 {
  background: linear-gradient(90deg, rgba(120,201,139,.075), rgba(255,255,255,.022));
}

.percent-roadmap .roadmap-row.stage-80,
.percent-roadmap .roadmap-row.stage-100 {
  background: linear-gradient(90deg, rgba(111,123,131,.10), rgba(255,255,255,.022));
}


/* v23 roadmap status correction: dark green complete, light green current, gray not started */
.roadmap-row.stage-complete,
.roadmap-row.complete {
  border-left-color: #2f8f4e !important;
  background: linear-gradient(90deg, rgba(47,143,78,.13), rgba(255,255,255,.022)) !important;
}
.roadmap-row.stage-current {
  border-left-color: #9fe4ad !important;
  background: linear-gradient(90deg, rgba(159,228,173,.12), rgba(255,255,255,.022)) !important;
}
.roadmap-row.stage-not-started {
  border-left-color: #6f7b83 !important;
  background: linear-gradient(90deg, rgba(111,123,131,.10), rgba(255,255,255,.022)) !important;
}

.roadmap-row.stage-complete span,
.roadmap-row.complete span {
  color: #6fd08a !important;
}
.roadmap-row.stage-current span {
  color: #c3f5c9 !important;
}
.roadmap-row.stage-not-started span {
  color: #b7c0c5 !important;
}

.dot.stage-complete,
.dot.complete {
  background: #2f8f4e !important;
}
.dot.stage-current {
  background: #9fe4ad !important;
}
.dot.stage-not-started {
  background: #6f7b83 !important;
}

.status-key {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
@media(max-width:800px){
  .status-key { grid-template-columns: 1fr !important; }
}


/* v24 restored v10 roadmap compatibility */
.roadmap-top,
.roadmap-grid,
.roadmap-section,
.roadmap-cards,
.stage-grid {
  min-width: 0;
}

.roadmap-page,
.roadmap-wrap,
.roadmap-shell {
  max-width: 1180px;
}

.stage-card,
.roadmap-card,
.roadmap-item,
.milestone,
.roadmap-row {
  border: 1px solid rgba(255,255,255,.08);
  border-left: 5px solid #6f7b83;
  border-radius: 18px;
  padding: 16px 18px;
  background: rgba(255,255,255,.026);
}

.stage-card.done,
.stage-card.complete,
.roadmap-card.done,
.roadmap-card.complete,
.roadmap-item.done,
.roadmap-item.complete,
.milestone.done,
.milestone.complete,
.roadmap-row.complete,
.roadmap-row.stage-complete {
  border-left-color: #2f8f4e !important;
  background: linear-gradient(90deg, rgba(47,143,78,.13), rgba(255,255,255,.022)) !important;
}

.stage-card.current,
.roadmap-card.current,
.roadmap-item.current,
.milestone.current,
.roadmap-row.current,
.roadmap-row.stage-current {
  border-left-color: #9fe4ad !important;
  background: linear-gradient(90deg, rgba(159,228,173,.12), rgba(255,255,255,.022)) !important;
}

.stage-card.planned,
.stage-card.todo,
.stage-card.not-started,
.roadmap-card.planned,
.roadmap-card.todo,
.roadmap-card.not-started,
.roadmap-item.planned,
.roadmap-item.todo,
.roadmap-item.not-started,
.milestone.planned,
.milestone.todo,
.milestone.not-started,
.roadmap-row.planned,
.roadmap-row.todo,
.roadmap-row.not-started,
.roadmap-row.stage-not-started {
  border-left-color: #6f7b83 !important;
  background: linear-gradient(90deg, rgba(111,123,131,.10), rgba(255,255,255,.022)) !important;
}

.stage-card span,
.roadmap-card span,
.roadmap-item span,
.milestone span,
.roadmap-row span {
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .10em;
}

@media (max-width: 1050px) {
  .roadmap-top,
  .roadmap-grid,
  .roadmap-section,
  .roadmap-cards,
  .stage-grid {
    grid-template-columns: 1fr !important;
  }
}


/* v25 roadmap rebuilt correctly */
.roadmap-page {
  max-width: 1180px;
  padding-top: 42px;
}
.roadmap-page > section {
  padding-bottom: 36px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.roadmap-page > section:last-child {
  border-bottom: 0;
}
.roadmap-page h2 {
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  margin: 0 0 10px;
}
.roadmap-page p {
  color: #ddd5c7;
  line-height: 1.72;
  max-width: 82ch;
}
.roadmap-stages {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
.stage-card {
  border: 1px solid rgba(255,255,255,.08);
  border-left: 5px solid #6f7b83;
  border-radius: 18px;
  padding: 18px;
  background: rgba(255,255,255,.026);
}
.stage-card span {
  display: block;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  margin-bottom: 8px;
}
.stage-card h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.16rem;
}
.stage-card p {
  margin: 0;
  font-size: .96rem;
}
.stage-card.complete {
  border-left-color: #2f8f4e !important;
  background: linear-gradient(90deg, rgba(47,143,78,.13), rgba(255,255,255,.022)) !important;
}
.stage-card.current {
  border-left-color: #9fe4ad !important;
  background: linear-gradient(90deg, rgba(159,228,173,.12), rgba(255,255,255,.022)) !important;
}
.stage-card.not-started {
  border-left-color: #6f7b83 !important;
  background: linear-gradient(90deg, rgba(111,123,131,.10), rgba(255,255,255,.022)) !important;
}
.stage-card.complete span { color: #6fd08a !important; }
.stage-card.current span { color: #c3f5c9 !important; }
.stage-card.not-started span { color: #b7c0c5 !important; }

.status-key {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.status-key div {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 16px;
}
.status-key p {
  margin: 4px 0 0;
  font-size: .95rem;
}
.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  margin-right: 8px;
}
.dot.complete { background: #2f8f4e !important; }
.dot.current { background: #9fe4ad !important; }
.dot.not-started { background: #6f7b83 !important; }

@media(max-width:1050px){
  .roadmap-stages {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .roadmap-stages,
  .status-key {
    grid-template-columns: 1fr;
  }
}


/* v26 roadmap stage chain */
.stage-chain {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.stage-chain .stage-card h3 {
  font-size: 1.08rem;
}
.stage-chain .stage-card p {
  font-size: .94rem;
}
@media(max-width:1050px){
  .stage-chain {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .stage-chain {
    grid-template-columns: 1fr;
  }
}


/* v27 clearer roadmap status grading */
.stage-card.complete,
.roadmap-row.complete,
.stage-card.stage-complete,
.roadmap-row.stage-complete {
  border-left-color: #0f7f3a !important;
  background:
    linear-gradient(90deg, rgba(15,127,58,.28), rgba(15,127,58,.07) 38%, rgba(255,255,255,.018)) !important;
  box-shadow: inset 0 0 0 1px rgba(32,180,88,.18);
}

.stage-card.current,
.roadmap-row.current,
.stage-card.stage-current,
.roadmap-row.stage-current {
  border-left-color: #9dff8f !important;
  background:
    linear-gradient(90deg, rgba(157,255,143,.36), rgba(157,255,143,.10) 42%, rgba(255,255,255,.02)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(157,255,143,.34),
    0 0 22px rgba(157,255,143,.12);
}

.stage-card.not-started,
.roadmap-row.not-started,
.stage-card.stage-not-started,
.roadmap-row.stage-not-started {
  border-left-color: #5d666c !important;
  background:
    linear-gradient(90deg, rgba(93,102,108,.18), rgba(93,102,108,.055) 40%, rgba(255,255,255,.012)) !important;
  opacity: .82;
}

.stage-card.complete span,
.roadmap-row.complete span,
.stage-card.stage-complete span,
.roadmap-row.stage-complete span {
  color: #44df7b !important;
}

.stage-card.current span,
.roadmap-row.current span,
.stage-card.stage-current span,
.roadmap-row.stage-current span {
  color: #d7ffd1 !important;
}

.stage-card.not-started span,
.roadmap-row.not-started span,
.stage-card.stage-not-started span,
.roadmap-row.stage-not-started span {
  color: #aeb8bd !important;
}

.stage-card.complete h3,
.stage-card.current h3 {
  color: #ffffff !important;
}

.stage-card.not-started h3 {
  color: #c7d0d4 !important;
}

.dot.complete,
.dot.stage-complete {
  background: #0f7f3a !important;
  box-shadow: 0 0 0 3px rgba(15,127,58,.18);
}

.dot.current,
.dot.stage-current {
  background: #9dff8f !important;
  box-shadow: 0 0 0 3px rgba(157,255,143,.22), 0 0 14px rgba(157,255,143,.26);
}

.dot.not-started,
.dot.stage-not-started {
  background: #5d666c !important;
  box-shadow: 0 0 0 3px rgba(93,102,108,.16);
}


/* v28 roadmap visual fix */
.roadmap-v2 {
  max-width: 1040px;
  padding-top: 42px;
}
.roadmap-intro,
.roadmap-track-section {
  margin-bottom: 36px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.roadmap-track-section:last-child {
  border-bottom: 0;
}
.roadmap-v2 h2 {
  margin: 0 0 12px;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}
.roadmap-intro p {
  margin: 0;
  max-width: 70ch;
}
.roadmap-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.legend-pill,
.roadmap-current-pill,
.track-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.legend-pill.complete,
.track-status.complete,
.roadmap-current-pill.complete {
  background: rgba(24,131,58,.18);
  color: #86ef9d;
  border: 1px solid rgba(64,190,101,.35);
}
.legend-pill.current,
.track-status.current,
.roadmap-current-pill.current {
  background: rgba(126,255,120,.18);
  color: #e8ffe2;
  border: 1px solid rgba(126,255,120,.40);
  box-shadow: 0 0 18px rgba(126,255,120,.10);
}
.legend-pill.not-started,
.track-status.not-started,
.roadmap-current-pill.not-started {
  background: rgba(118,129,136,.16);
  color: #ced5d9;
  border: 1px solid rgba(118,129,136,.32);
}
.roadmap-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 18px;
}
.roadmap-track {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.roadmap-track::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
}
.track-item {
  position: relative;
  padding-left: 48px;
  margin: 0 0 14px;
}
.track-item.last {
  margin-bottom: 0;
}
.track-node {
  position: absolute;
  left: 6px;
  top: 16px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,.14);
  background: #0c141b;
  z-index: 2;
}
.track-item.complete .track-node {
  background: #18833a;
  border-color: #56d17a;
  box-shadow: 0 0 0 5px rgba(24,131,58,.16);
}
.track-item.current .track-node {
  background: #8eff78;
  border-color: #dbffd2;
  box-shadow: 0 0 0 6px rgba(142,255,120,.16), 0 0 18px rgba(142,255,120,.18);
}
.track-item.not-started .track-node {
  background: #68737a;
  border-color: #8c969c;
}
.track-card {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}
.track-item.complete .track-card {
  border-color: rgba(64,190,101,.28);
  background: linear-gradient(180deg, rgba(24,131,58,.14), rgba(255,255,255,.02));
}
.track-item.current .track-card {
  border-color: rgba(126,255,120,.38);
  background: linear-gradient(180deg, rgba(126,255,120,.16), rgba(255,255,255,.024));
  box-shadow: 0 0 20px rgba(126,255,120,.08);
}
.track-item.not-started .track-card {
  border-color: rgba(118,129,136,.22);
}
.track-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.track-top h3 {
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.1;
}
.track-card p {
  margin: 0;
  color: #ddd5c7;
  line-height: 1.6;
}
.track-card.compact p {
  font-size: .95rem;
}
@media (max-width: 760px) {
  .roadmap-section-head {
    align-items: start;
    flex-direction: column;
  }
  .track-top {
    align-items: start;
    flex-direction: column;
  }
}


/* v29 roadmap: current state block removed */
.roadmap-v2 {
  padding-top: 34px;
}
.roadmap-track-section:first-child {
  margin-top: 0;
}


/* v30 staff GIF profile images */
.pfp img,
.person img {
  object-fit: cover;
}


/* v39 fixed links page */
.links-page {
  max-width: 900px;
  padding-top: 36px;
}
.links-list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.10);
}
.link-row {
  display: block;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  text-decoration: none;
}
.link-row strong {
  display: block;
  color: #fff;
  font-size: 1.12rem;
  margin-bottom: 7px;
}
.link-row strong::after {
  content: " →";
}
.link-row span {
  display: block;
  color: #cbbda8;
  line-height: 1.55;
}
.link-row:hover strong {
  color: var(--gold);
}
@media(max-width:720px){
  .links-page { padding-top: 26px; }
  .link-row { padding: 20px 0; }
}


/* v42 Rain text edits */
.aside-note {
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 3px solid var(--gold);
  background: rgba(255,255,255,.035);
  border-radius: 12px;
  color: #d8cec0;
  font-size: .96rem;
}


/* v47 apply page restore */
.apply-page {
  max-width: 900px;
  padding-top: 36px;
}
.apply-card {
  border-top: 1px solid rgba(255,255,255,.10);
  padding-top: 28px;
}
.apply-card h2 {
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  margin: 0 0 12px;
}
.apply-card p {
  max-width: 78ch;
  color: #ddd5c7;
  line-height: 1.7;
  margin-bottom: 26px;
}
.application-link {
  margin-top: 10px;
}


/* v56 gallery lightbox arrows */
.lightbox-panel {
  position: relative;
}
.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 30;
  width: 54px;
  height: 74px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(8,14,18,.72);
  color: #f2eadb;
  font-size: 3rem;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.lightbox-nav:hover {
  transform: translateY(-50%) scale(1.04);
  background: rgba(18,27,34,.9);
  border-color: rgba(216,176,98,.55);
}
.lightbox-prev {
  left: 18px;
}
.lightbox-next {
  right: 18px;
}
@media (max-width: 760px) {
  .lightbox-nav {
    width: 42px;
    height: 58px;
    border-radius: 14px;
    font-size: 2.35rem;
  }
  .lightbox-prev { left: 8px; }
  .lightbox-next { right: 8px; }
}


/* v62 font swap fix: stable local fonts, no delayed bold re-render */
html,
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-synthesis-weight: none;
  text-rendering: geometricPrecision;
}

h1, h2, h3, h4, h5, h6,
strong,
.brand strong,
.kicker,
.nav a,
button,
.stage-card h3,
.track-top h3 {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

h1, h2, h3,
.brand strong {
  font-synthesis-weight: none;
}

/* v66 filled page images */
.image-slot{gap:14px;flex-wrap:wrap;padding:14px;overflow:hidden}.image-slot img{display:block;max-width:100%;max-height:360px;width:auto;height:auto;object-fit:contain;border-radius:14px}.image-slot.image-slot-dual img{max-width:calc(50% - 8px)}@media(max-width:720px){.image-slot img{max-height:240px}.image-slot.image-slot-dual img{max-width:100%}}


/* v73 click-to-play GIF gallery */
.gif-thumb-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.gif-thumb-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gif-play-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(7, 13, 18, .78);
  border: 1px solid rgba(242,234,219,.28);
  color: #f2eadb;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  pointer-events: none;
}
.gallery-thumb:hover .gif-play-badge {
  border-color: rgba(216,176,98,.7);
}


