:root{
  --bg:#07070c;
  --bg2:#0b0b12;
  --panel:#111122;
  --panel2:#16162a;

  --txt:#efeaff;
  --mut:#b9b0dd;

  --orange:#ff9b2f;
  --peach:#ffb085;
  --purple:#b58cff;
  --blue:#58b7ff;
  --tan:#d6c29f;

  --ok:#63ff9a;
  --warn:#ffd15a;
  --bad:#ff5f7b;

  --r:24px;
  --r2:16px;
  --gap:16px;

  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --ui: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:var(--ui);
  color:var(--txt);
  background:
    radial-gradient(1100px 700px at 15% 20%, rgba(255,155,47,0.10), transparent 60%),
    radial-gradient(900px 650px at 70% 35%, rgba(181,140,255,0.10), transparent 60%),
    radial-gradient(900px 650px at 55% 80%, rgba(88,183,255,0.08), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
}

a{ color:inherit; }
.skip{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip:focus{
  left:16px; top:16px; width:auto; height:auto;
  padding:10px 12px;
  background:var(--orange);
  color:#111;
  border-radius:12px;
  z-index:9999;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
}

/* ===== Topbar with elbow ===== */
.topbar{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap: var(--gap);
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(90deg, rgba(255,155,47,0.18), rgba(181,140,255,0.10), rgba(88,183,255,0.06));
}

.topbar__left{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width:0;
}

.elbow{
  width: 120px;
  height: 52px;
  border-radius: 30px 8px 8px 30px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  display:flex;
  padding: 10px;
  gap: 8px;
}
.elbow__bar{
  flex:1;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
}
.elbow__bar--orange{ background: rgba(255,155,47,0.95); }
.elbow__bar--peach{ background: rgba(255,176,133,0.90); }

.brand{ min-width:0; }
.brand__kicker{
  font-family:var(--mono);
  font-size: 11px;
  text-transform:uppercase;
  letter-spacing:0.16em;
  color: rgba(255,255,255,0.75);
}
.brand__title{
  margin-top:6px;
  font-weight: 800;
  font-size: 18px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.topbar__right{
  display:flex;
  align-items:flex-end;
  gap: 14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.sysline{
  display:flex;
  gap: 10px;
  align-items:baseline;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size: 11px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.sysline__k{ color: rgba(255,255,255,0.60); }
.sysline__v{ color: rgba(255,255,255,0.88); }
.sysline__v--ok{ color: var(--ok); }

/* ===== Frame ===== */
.frame{
  max-width: 1260px;
  margin: 0 auto;
  padding: var(--gap);
  display:grid;
  grid-template-columns: 260px 1fr;
  gap: var(--gap);
}

/* ===== Rail ===== */
.rail{
  position: sticky;
  top: 14px;
  align-self: start;
  border-radius: var(--r);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17,17,34,0.92), rgba(17,17,34,0.72));
}

.rail__cap{
  height: 44px;
  background: rgba(255,255,255,0.06);
}
.rail__cap--top{
  background: linear-gradient(90deg, rgba(255,155,47,0.92), rgba(255,155,47,0.18));
}
.rail__cap--bottom{
  background: linear-gradient(90deg, rgba(181,140,255,0.82), rgba(181,140,255,0.16));
}

.rail__nav{
  padding: 12px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.navbtn{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 12px;
  font-weight: 800;
  color:#111;
  padding: 12px 12px;
  border-radius: 18px 8px 8px 18px;
  transition: transform 120ms ease, filter 120ms ease;
}
.navbtn:hover{ transform: translateX(2px); filter: brightness(1.03); }
.navbtn:focus-visible{ outline: 2px solid rgba(255,255,255,0.50); outline-offset: 2px; }

.navbtn--orange{ background: var(--orange); }
.navbtn--peach{ background: var(--peach); }
.navbtn--purple{ background: var(--purple); }
.navbtn--blue{ background: var(--blue); }
.navbtn--tan{ background: var(--tan); }

.rail__block{
  margin: 0 12px 12px 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.04);
}
.rail__k{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 11px;
  color: rgba(255,255,255,0.60);
}
.rail__v{
  margin-top: 8px;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size: 12px;
  color: rgba(255,255,255,0.90);
}

/* ===== Main ===== */
.main{
  display:flex;
  flex-direction:column;
  gap: var(--gap);
}

/* ===== Hero ===== */
.hero{
  border-radius: var(--r);
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17,17,34,0.92), rgba(17,17,34,0.70));
  overflow:hidden;
}
.hero__bar{
  display:flex;
  height: 18px;
}
.hero__seg{ flex:1; }
.hero__seg--orange{ background: rgba(255,155,47,0.95); }
.hero__seg--peach{ background: rgba(255,176,133,0.92); }
.hero__seg--purple{ background: rgba(181,140,255,0.92); }
.hero__seg--blue{ background: rgba(88,183,255,0.92); }
.hero__seg--tan{ background: rgba(214,194,159,0.92); }

.hero__body{
  padding: 18px 18px 16px 18px;
}
.hero__h1{
  margin: 0 0 8px 0;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-size: 22px;
}
.hero__p{
  margin:0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
  max-width: 80ch;
}

/* ===== Panels ===== */
.panel{
  border-radius: var(--r);
  border: 1px solid rgba(255,255,255,0.08);
  overflow:hidden;
  background: linear-gradient(180deg, rgba(17,17,34,0.92), rgba(17,17,34,0.74));
}
.panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  position: relative;
}
.panel__head::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width: 14px;
  background: rgba(255,255,255,0.06);
}
.panel--orange .panel__head::before{ background: var(--orange); }
.panel--peach  .panel__head::before{ background: var(--peach); }
.panel--purple .panel__head::before{ background: var(--purple); }
.panel--blue   .panel__head::before{ background: var(--blue); }
.panel--tan    .panel__head::before{ background: var(--tan); }

.panel__title{
  margin:0;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size: 13px;
  padding-left: 10px;
}
.panel__stamp{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 11px;
  color: rgba(255,255,255,0.62);
}

.panel__body{
  padding: 16px;
}

/* ===== Bullets ===== */
.bullet{
  display:grid;
  grid-template-columns: 14px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: var(--r2);
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.04);
  margin-bottom: 12px;
}
.bullet:last-of-type{ margin-bottom:0; }
.bullet__cap{ border-radius: 999px; background: rgba(255,255,255,0.10); }
.bullet__cap--orange{ background: rgba(255,155,47,0.92); }
.bullet__cap--peach{ background: rgba(255,176,133,0.88); }
.bullet__cap--purple{ background: rgba(181,140,255,0.88); }

.bullet__h{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size: 12px;
}
.bullet__p{
  margin-top: 6px;
  color: rgba(255,255,255,0.78);
  line-height: 1.55;
}

/* Divider */
.divider{
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  margin: 16px 0;
}

/* Callout */
.callout{
  display:grid;
  grid-template-columns: 56px 1fr 56px;
  border-radius: var(--r2);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.04);
}
.callout__left{ background: linear-gradient(180deg, rgba(255,155,47,0.85), rgba(255,155,47,0.18)); }
.callout__right{ background: linear-gradient(180deg, rgba(181,140,255,0.80), rgba(181,140,255,0.16)); }
.callout__mid{ padding: 12px 14px; }
.callout__k{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 11px;
  color: rgba(255,255,255,0.62);
}
.callout__v{
  margin-top: 6px;
  color: rgba(255,255,255,0.84);
  line-height: 1.55;
}

/* Grid cards */
.grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.card{
  border-radius: var(--r2);
  border: 1px solid rgba(255,255,255,0.07);
  background: linear-gradient(180deg, rgba(22,22,42,0.92), rgba(22,22,42,0.74));
  padding: 12px;
}
.card__t{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 12px;
  margin-bottom: 8px;
}
.card__p{
  color: rgba(255,255,255,0.82);
  line-height: 1.5;
  margin-top: 6px;
}
.k{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size: 11px;
  color: rgba(255,255,255,0.60);
  margin-right: 8px;
}

/* Brief blocks */
.brief{
  border-radius: var(--r2);
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.04);
  padding: 12px;
  margin-bottom: 12px;
}
.brief:last-child{ margin-bottom:0; }
.brief__tag{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 11px;
  font-weight: 800;
  color:#111;
  margin-bottom: 10px;
}
.brief__tag--orange{ background: var(--orange); }
.brief__tag--peach{ background: var(--peach); }
.brief__tag--purple{ background: var(--purple); }
.brief__tag--blue{ background: var(--blue); }
.brief__tag--tan{ background: var(--tan); }

.brief__p{
  margin:0;
  color: rgba(255,255,255,0.80);
  line-height: 1.55;
}

.brief__list{
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,0.80);
  line-height: 1.55;
}
.brief__list li{ margin: 8px 0; }
.brief__list strong{ color: rgba(255,255,255,0.92); }

/* Tech grid */
.techgrid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* Sources */
.sources__h{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 12px;
  color: rgba(255,255,255,0.88);
  margin: 12px 0 8px 0;
}
.sources__list{
  margin: 0 0 8px 0;
  padding-left: 18px;
}
.sources__list li{ margin: 6px 0; }
.sources__list a{
  text-decoration:none;
  border-bottom: 1px solid rgba(255,255,255,0.25);
}
.sources__list a:hover{ border-bottom-color: rgba(255,255,255,0.55); }

.footnote{
  margin-top: 14px;
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size: 11px;
  color: rgba(255,255,255,0.62);
}

/* Footer */
.footer{
  border-radius: var(--r);
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 16px;
}
.footer__left{
  display:flex;
  align-items:center;
  gap: 12px;
}
.footer__cap{
  width: 64px;
  height: 36px;
  border-radius: 18px 6px 6px 18px;
  background: linear-gradient(90deg, rgba(255,155,47,0.92), rgba(255,155,47,0.18));
}
.footer__text{ display:flex; flex-direction:column; gap: 4px; }
.footer__line{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 11px;
  color: rgba(255,255,255,0.78);
}
.footer__muted{ color: rgba(255,255,255,0.58); }
.footer__pill{
  display:inline-flex;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(181,140,255,0.30);
  background: rgba(181,140,255,0.16);
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size: 11px;
  color: rgba(255,255,255,0.86);
}

/* Responsive */
@media (max-width: 980px){
  .frame{ grid-template-columns: 1fr; }
  .rail{ position: relative; top:auto; }
  .grid{ grid-template-columns: 1fr; }
  .topbar{ flex-direction:column; align-items:flex-start; }
  .topbar__right{ justify-content:flex-start; }
  .brand__title{ white-space:normal; }
}

