.bfm-page {
  --bfm-bg:#050507;
  --bfm-panel:#0c0c12;
  --bfm-raised:#14141c;
  --bfm-text:#ececec;
  --bfm-muted:#8a8a98;
  --bfm-dim:#5c5c68;
  --bfm-v:#8b5cf6;
  --bfm-i:#6366f1;
  --bfm-b:#38bdf8;
  --bfm-border:rgba(255,255,255,.07);
  background:radial-gradient(ellipse 65% 40% at 90% 0%,rgba(99,68,160,.2),transparent 72%),#050507;
  color:var(--bfm-text);
  font-family:Inter,sans-serif;
  min-height:100vh;
  overflow:hidden;
  position:relative
}

.bfm-page::before {
  background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:30px 30px;
  content:"";
  inset:0;
  opacity:.42;
  pointer-events:none;
  position:absolute
}

.bfm-progress {
  background:linear-gradient(90deg,var(--bfm-v),var(--bfm-b));
  box-shadow:0 0 10px rgba(139,92,246,.6);
  height:2px;
  left:0;
  position:fixed;
  top:56px;
  transform:scaleX(0);
  transform-origin:left;
  width:100%;
  z-index:1000
}

.bfm-side-nav {
  display:flex;
  flex-direction:column;
  gap:7px;
  position:fixed;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  z-index:80
}

.bfm-side-nav a {
  align-items:center;
  background:transparent;
  border:1px solid transparent;
  border-radius:7px;
  color:var(--bfm-dim);
  display:flex;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  gap:7px;
  letter-spacing:.06em;
  padding:6px 9px;
  text-decoration:none;
  text-transform:uppercase
}

.bfm-side-nav a:hover,.bfm-side-nav a.is-active {
  background:rgba(20,20,28,.7);
  border-color:rgba(139,92,246,.2);
  color:#a78bfa
}

.bfm-side-nav i {
  background:currentColor;
  border-radius:50%;
  height:5px;
  width:5px
}

.bfm-hero,.bfm-main {
  margin:0 auto;
  max-width:1100px;
  padding-left:24px;
  padding-right:24px;
  position:relative;
  z-index:2
}

.bfm-hero {
  align-items:center;
  display:grid;
  gap:48px;
  grid-template-columns:1fr 1fr;
  min-height:calc(100vh - 56px);
  padding-bottom:80px;
  padding-top:100px
}

.bfm-hero-kicker {
  align-items:center;
  color:var(--bfm-b);
  display:flex;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  gap:10px;
  letter-spacing:.28em;
  text-transform:uppercase
}

.bfm-hero-kicker i {
  animation:bfmPing 2s ease infinite;
  background:var(--bfm-b);
  border-radius:50%;
  height:6px;
  width:6px
}

@keyframes bfmPing {
  50% {
    box-shadow:0 0 0 8px rgba(56,189,248,0)
  }
}

.bfm-hero h1 {
  font-family:"Instrument Serif",serif;
  font-size:clamp(54px,7vw,82px);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1;
  margin:20px 0
}

.bfm-hero h1 em,.bfm-chapter h2 em {
  color:#a78bfa;
  font-style:italic
}

.bfm-hero>div>p:last-of-type {
  color:var(--bfm-muted);
  font-size:16px;
  line-height:1.75;
  max-width:500px
}

.bfm-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px
}

.bfm-primary,.bfm-secondary {
  border-radius:10px;
  font-size:14px;
  font-weight:600;
  padding:13px 24px;
  text-decoration:none
}

.bfm-primary {
  background:linear-gradient(135deg,var(--bfm-v),var(--bfm-i),var(--bfm-b));
  box-shadow:0 6px 24px rgba(139,92,246,.28);
  color:white
}

.bfm-secondary {
  background:rgba(255,255,255,.035);
  border:1px solid var(--bfm-border);
  color:var(--bfm-text)
}

.bfm-transmission {
  backdrop-filter:blur(20px);
  background:rgba(20,20,28,.48);
  border:1px solid rgba(139,92,246,.18);
  border-radius:17px;
  box-shadow:0 28px 80px rgba(0,0,0,.35);
  overflow:hidden;
  padding:22px
}

.bfm-transmission>header {
  align-items:center;
  border-bottom:1px solid var(--bfm-border);
  display:flex;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  justify-content:space-between;
  letter-spacing:.12em;
  padding-bottom:14px;
  text-transform:uppercase
}

.bfm-transmission header span {
  align-items:center;
  color:var(--bfm-muted);
  display:flex;
  gap:8px
}

.bfm-transmission header i {
  animation:bfmBlink 1.2s ease infinite;
  background:#34d399;
  border-radius:50%;
  box-shadow:0 0 7px #34d399;
  height:6px;
  width:6px
}

.bfm-transmission header b {
  color:#34d399;
  font-size:9px
}

@keyframes bfmBlink {
  50% {
    opacity:.3
  }
}

.bfm-wave {
  height:90px;
  margin:15px -22px
}

.bfm-wave path {
  fill:none;
  stroke:url(#none);
  stroke:#8b5cf6;
  stroke-width:1.5
}

.bfm-feed {
  color:#a9a3b2;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  line-height:1.8;
  min-height:75px
}

.bfm-feed span {
  color:#38bdf8
}

.bfm-beta-state {
  border-top:1px solid var(--bfm-border);
  display:grid;
  gap:8px;
  margin-top:16px;
  padding-top:16px
}

.bfm-beta-state>span,.bfm-beta-state small {
  color:var(--bfm-dim);
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase
}

.bfm-beta-state strong {
  font-size:13px
}

.bfm-beta-state>i {
  background:rgba(255,255,255,.06);
  border-radius:4px;
  height:4px;
  overflow:hidden
}

.bfm-beta-state em {
  background:linear-gradient(90deg,var(--bfm-v),var(--bfm-b));
  display:block;
  height:100%;
  width:68%
}

.bfm-main {
  padding-bottom:100px
}

.bfm-chapter {
  padding:90px 0 45px;
  scroll-margin-top:70px
}

.bfm-chapter>header {
  border-top:1px solid transparent;
  border-image:linear-gradient(90deg,var(--bfm-v),var(--bfm-b),transparent) 1;
  margin-bottom:45px;
  padding-top:26px
}

.bfm-chapter>header>span {
  color:#a78bfa;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase
}

.bfm-chapter h2 {
  font-family:"Instrument Serif",serif;
  font-size:clamp(38px,5vw,58px);
  font-weight:400;
  line-height:1.05;
  margin-top:12px
}

.bfm-chapter header p {
  color:var(--bfm-muted);
  line-height:1.7;
  margin-top:12px;
  max-width:620px
}

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

.bfm-cap {
  background:rgba(20,20,28,.5);
  border:1px solid rgba(139,92,246,.16);
  border-radius:14px;
  color:var(--bfm-muted);
  cursor:pointer;
  min-height:155px;
  padding:20px;
  position:relative;
  text-align:left;
  transition:.25s
}

.bfm-cap:hover {
  border-color:rgba(139,92,246,.38);
  transform:translateY(-2px)
}

.bfm-cap.is-pinned {
  background:rgba(139,92,246,.08);
  border-color:#8b5cf6
}

.bfm-cap>span {
  color:var(--bfm-dim);
  font-family:"JetBrains Mono",monospace;
  font-size:9px
}

.bfm-cap h3 {
  color:var(--bfm-text);
  font-size:16px;
  margin:14px 0 7px
}

.bfm-cap p {
  font-size:12px;
  line-height:1.55
}

.bfm-cap i {
  border:1px solid var(--bfm-border);
  border-radius:50%;
  height:22px;
  position:absolute;
  right:15px;
  top:15px;
  width:22px
}

.bfm-cap.is-pinned i {
  background:#8b5cf6;
  box-shadow:inset 0 0 0 6px #14141c
}

.bfm-pin-state {
  align-items:center;
  color:var(--bfm-dim);
  display:flex;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  gap:8px;
  margin-top:16px
}

.bfm-pin-state i {
  background:#8b5cf6;
  border-radius:50%;
  height:6px;
  width:6px
}

.bfm-protocol {
  align-items:start;
  display:grid;
  gap:46px;
  grid-template-columns:250px 1fr
}

.bfm-timer {
  text-align:center
}

.bfm-timer>div {
  height:160px;
  margin:0 auto 18px;
  position:relative;
  width:160px
}

.bfm-timer svg {
  height:100%;
  transform:rotate(-90deg);
  width:100%
}

.bfm-timer circle {
  fill:none;
  stroke:rgba(255,255,255,.06);
  stroke-width:6
}

.bfm-timer .bfm-timer-ring {
  stroke:#8b5cf6;
  stroke-dasharray:383.3;
  stroke-dashoffset:0;
  stroke-linecap:round;
  transition:stroke-dashoffset .3s
}

.bfm-timer strong,.bfm-timer small {
  left:50%;
  position:absolute;
  transform:translate(-50%,-50%)
}

.bfm-timer strong {
  font-family:"JetBrains Mono",monospace;
  font-size:22px;
  top:46%
}

.bfm-timer small {
  color:var(--bfm-dim);
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  text-transform:uppercase;
  top:61%
}

.bfm-timer button {
  background:rgba(139,92,246,.12);
  border:1px solid rgba(139,92,246,.3);
  border-radius:999px;
  color:#c4b5fd;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  padding:10px 18px;
  text-transform:uppercase
}

.bfm-checklist {
  display:grid;
  gap:9px
}

.bfm-check {
  align-items:center;
  background:rgba(255,255,255,.025);
  border:1px solid var(--bfm-border);
  border-radius:10px;
  color:var(--bfm-muted);
  display:grid;
  gap:12px;
  grid-template-columns:24px 28px 1fr;
  padding:12px 14px;
  text-align:left;
  width:100%
}

.bfm-check.is-done {
  border-color:rgba(52,211,153,.3);
  color:#c8c8d0
}

.bfm-check>i {
  border:1px solid rgba(255,255,255,.15);
  border-radius:5px;
  height:20px;
  position:relative;
  width:20px
}

.bfm-check.is-done>i {
  background:#34d399;
  border-color:#34d399
}

.bfm-check.is-done>i::after {
  color:#07110d;
  content:"✓";
  font-size:13px;
  left:4px;
  position:absolute;
  top:0
}

.bfm-check>span {
  color:var(--bfm-dim);
  font-family:"JetBrains Mono",monospace;
  font-size:9px
}

.bfm-check>b {
  font-size:12px;
  font-weight:400
}

.bfm-mission {
  background:rgba(52,211,153,.07);
  border:1px solid rgba(52,211,153,.25);
  border-radius:10px;
  color:#6ee7b7;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  margin-top:12px;
  opacity:0;
  padding:12px;
  text-align:center
}

.bfm-mission.is-complete {
  opacity:1
}

.bfm-starter {
  display:grid;
  gap:24px;
  grid-template-columns:1fr 1.3fr
}

.bfm-records,.bfm-relations {
  background:rgba(20,20,28,.46);
  border:1px solid var(--bfm-border);
  border-radius:15px;
  padding:18px
}

.bfm-records {
  display:grid;
  gap:9px
}

.bfm-records article {
  background:rgba(255,255,255,.025);
  border:1px solid var(--bfm-border);
  border-radius:9px;
  display:grid;
  gap:2px;
  padding:11px
}

.bfm-records span,.bfm-relations div span {
  color:#a78bfa;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  text-transform:uppercase
}

.bfm-records b {
  font-size:13px
}

.bfm-records small {
  color:var(--bfm-dim);
  font-size:10px
}

.bfm-relations {
  display:grid;
  gap:8px
}

.bfm-relations p {
  align-items:center;
  background:rgba(255,255,255,.025);
  border:1px solid var(--bfm-border);
  border-radius:9px;
  display:grid;
  font-size:11px;
  gap:8px;
  grid-template-columns:1fr auto 1fr;
  margin:0;
  padding:11px;
  text-align:center
}

.bfm-relations p i {
  color:#a78bfa;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  font-style:normal
}

.bfm-relations p strong {
  font-weight:500
}

.bfm-relations>div {
  background:rgba(251,191,36,.05);
  border:1px solid rgba(251,191,36,.18);
  border-radius:9px;
  color:#b6af9d;
  font-size:11px;
  line-height:1.55;
  padding:12px
}

.bfm-relations div span {
  display:block;
  margin-bottom:3px
}

.bfm-accordion {
  display:grid;
  gap:10px
}

.bfm-limit {
  background:rgba(20,20,28,.48);
  border:1px solid var(--bfm-border);
  border-radius:12px;
  overflow:hidden
}

.bfm-limit button {
  align-items:center;
  background:transparent;
  border:0;
  color:var(--bfm-text);
  display:grid;
  gap:12px;
  grid-template-columns:8px 80px 1fr 24px;
  padding:16px 18px;
  text-align:left;
  width:100%
}

.bfm-limit button>i {
  background:#fbbf24;
  border-radius:50%;
  height:7px;
  width:7px
}

.bfm-limit button>span {
  color:#fbbf24;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  text-transform:uppercase
}

.bfm-limit button>b {
  font-size:13px;
  font-weight:500
}

.bfm-limit button>em {
  font-style:normal;
  transition:.3s
}

.bfm-limit.is-open button>em {
  transform:rotate(180deg)
}

.bfm-limit>div {
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .35s
}

.bfm-limit>div>p {
  color:var(--bfm-muted);
  font-size:12px;
  line-height:1.65;
  margin:0;
  overflow:hidden;
  padding:0 18px
}

.bfm-limit.is-open>div {
  grid-template-rows:1fr
}

.bfm-limit.is-open>div>p {
  padding-bottom:16px
}

.bfm-terminal {
  background:#0c0c12;
  border:1px solid var(--bfm-border);
  border-radius:14px;
  font-family:"JetBrains Mono",monospace;
  overflow:hidden
}

.bfm-terminal>div {
  align-items:center;
  border-bottom:1px solid var(--bfm-border);
  display:flex;
  gap:6px;
  padding:11px 16px
}

.bfm-terminal>div i {
  background:#ff5f57;
  border-radius:50%;
  height:8px;
  width:8px
}

.bfm-terminal>div i:nth-child(2) {
  background:#ffbd2e
}

.bfm-terminal>div i:nth-child(3) {
  background:#28ca42
}

.bfm-terminal>div span {
  color:var(--bfm-dim);
  font-size:9px;
  margin-left:5px
}

.bfm-terminal pre {
  color:#aaa4b2;
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  line-height:2;
  margin:0;
  overflow-x:auto;
  padding:22px
}

.bfm-terminal pre b {
  color:#34d399
}

.bfm-terminal pre strong {
  color:#fbbf24
}

.bfm-terminal pre em {
  color:#38bdf8;
  font-style:normal
}

.bfm-terminal footer {
  border-top:1px solid var(--bfm-border);
  display:flex;
  gap:10px;
  padding:14px 20px
}

.bfm-terminal footer a {
  border:1px solid rgba(139,92,246,.24);
  border-radius:999px;
  color:#c4b5fd;
  font-size:10px;
  padding:7px 11px;
  text-decoration:none
}

.bfm-feedback-layout {
  display:grid;
  gap:24px;
  grid-template-columns:.8fr 1.2fr
}

.bfm-feedback-layout>aside,.bfm-feedback-layout>form {
  background:rgba(20,20,28,.48);
  border:1px solid var(--bfm-border);
  border-radius:15px;
  padding:22px
}

.bfm-feedback-layout aside>span {
  color:#a78bfa;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  text-transform:uppercase
}

.bfm-feedback-layout aside ul {
  display:grid;
  gap:10px;
  margin:18px 0 0;
  padding:0
}

.bfm-feedback-layout aside li {
  color:var(--bfm-muted);
  font-size:12px;
  list-style:none;
  padding-left:17px;
  position:relative
}

.bfm-feedback-layout aside li::before {
  color:#8b5cf6;
  content:"→";
  left:0;
  position:absolute
}

.bfm-feedback-layout form {
  display:grid;
  gap:14px;
  grid-template-columns:1fr 1fr
}

.bfm-feedback-layout form>div {
  display:grid;
  gap:6px
}

.bfm-feedback-layout label {
  color:#8a8a98;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  text-transform:uppercase
}

.bfm-feedback-layout label span {
  color:#5c5c68
}

.bfm-feedback-layout input,.bfm-feedback-layout select,.bfm-feedback-layout textarea {
  background:#0c0c12;
  border:1px solid var(--bfm-border);
  border-radius:8px;
  color:#ececec;
  font-size:12px;
  min-height:40px;
  padding:9px 11px
}

.bfm-feedback-layout textarea {
  min-height:120px;
  resize:vertical
}

.bfm-wide {
  grid-column:1/-1
}

.bfm-form-actions {
  align-items:center;
  display:flex!important;
  flex-direction:row;
  justify-content:space-between
}

.bfm-form-actions button {
  background:linear-gradient(135deg,#8b5cf6,#6366f1);
  border:0;
  border-radius:9px;
  color:#fff;
  font-size:12px;
  font-weight:600;
  padding:11px 18px
}

.bfm-form-actions a {
  color:#8a8a98;
  font-size:11px;
  text-decoration:none
}

@media(max-width:1050px) {
  .bfm-side-nav {
    display:none
  }
}

@media(max-width:850px) {
  .bfm-hero {
    grid-template-columns:1fr;
    min-height:auto;
    padding-bottom:70px;
    padding-top:100px
  }
  .bfm-cap-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .bfm-protocol {
    grid-template-columns:1fr
  }
  .bfm-starter,.bfm-feedback-layout {
    grid-template-columns:1fr
  }
}

@media(max-width:560px) {
  .bfm-hero,.bfm-main {
    padding-left:16px;
    padding-right:16px
  }
  .bfm-hero h1 {
    font-size:56px
  }
  .bfm-actions>a {
    box-sizing:border-box;
    text-align:center;
    width:100%
  }
  .bfm-cap-grid {
    grid-template-columns:1fr
  }
  .bfm-chapter {
    padding-top:70px
  }
  .bfm-starter {
    gap:12px
  }
  .bfm-relations p {
    grid-template-columns:1fr
  }
  .bfm-limit button {
    grid-template-columns:8px 55px 1fr 20px;
    padding:14px 12px
  }
  .bfm-feedback-layout form {
    grid-template-columns:1fr
  }
  .bfm-wide {
    grid-column:auto
  }
  .bfm-form-actions {
    align-items:stretch!important;
    flex-direction:column
  }
  .bfm-terminal pre {
    font-size:9px
  }
  .bfm-transmission {
    padding:18px
  }
}

@media(prefers-reduced-motion:reduce) {
  .bfm-hero-kicker i,.bfm-transmission header i {
    animation:none
  }
}

/* Reference-accurate interactive states */
.bfm-cap-grid {
  display:flex;
  flex-wrap:wrap;
  gap:14px
}

.bfm-cap {
  flex:0 0 auto;
  min-height:0;
  min-width:160px;
  max-width:calc(50% - 7px);
  width:fit-content;
  padding:14px 18px;
  overflow:hidden
}

.bfm-cap>span {
  display:none
}

.bfm-cap h3 {
  align-items:center;
  display:flex;
  font-size:14px;
  margin:0;
  white-space:nowrap
}

.bfm-cap h3::before {
  content:"◇";
  color:var(--bfm-v);
  font-family:"JetBrains Mono",monospace;
  font-size:19px;
  margin-right:10px
}

.bfm-cap p {
  max-height:0;
  max-width:390px;
  margin:0;
  opacity:0;
  overflow:hidden;
  transition:max-height .4s ease,opacity .3s,margin .3s
}

.bfm-cap small {
  display:none
}

.bfm-cap.is-open p,.bfm-cap.is-pinned p {
  max-height:90px;
  margin-top:10px;
  opacity:1
}

.bfm-cap.is-pinned {
  box-shadow:0 0 20px rgba(139,92,246,.25),inset 0 0 20px rgba(139,92,246,.04)
}

.bfm-cap.is-pinned h3::before {
  content:"◆"
}

.bfm-check {
  align-items:flex-start;
  display:flex;
  gap:14px;
  grid-template-columns:none;
  padding:14px 18px
}

.bfm-check:hover {
  border-color:rgba(139,92,246,.25);
  transform:translateX(4px)
}

.bfm-check>i {
  flex:0 0 20px
}

.bfm-check>span {
  flex:0 0 24px;
  margin-top:3px
}

.bfm-check>b {
  line-height:1.5
}

.bfm-check.is-done>b {
  color:var(--bfm-dim);
  text-decoration:line-through
}

.bfm-mission {
  display:none;
  opacity:1
}

.bfm-mission.is-complete {
  display:block;
  animation:bfmMission .5s ease
}

@keyframes bfmMission {
  from {
    opacity:0;
    transform:translateY(12px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}

.bfm-limit {
  background:rgba(20,20,28,.48);
  border:1px solid var(--bfm-border);
  border-left:3px solid rgba(251,146,60,.6);
  border-radius:12px;
  overflow:hidden
}

.bfm-limit[data-severity="high"] {
  border-left-color:rgba(239,68,68,.65)
}

.bfm-limit[data-severity="low"] {
  border-left-color:rgba(163,230,53,.45)
}

.bfm-limit button {
  grid-template-columns:8px 80px 1fr 20px
}

.bfm-limit button>i {
  grid-column:1;
  background:#fb923c;
  box-shadow:0 0 6px #fb923c
}

.bfm-limit button>span {
  grid-column:2;
  border:1px solid rgba(251,146,60,.25);
  border-radius:4px;
  padding:2px 8px;
  text-align:center
}

.bfm-limit button>b {
  grid-column:3
}

.bfm-limit button>em {
  grid-column:4;
  color:var(--bfm-dim);
  font-size:16px
}

.bfm-confetti {
  inset:0;
  overflow:hidden;
  pointer-events:none;
  position:fixed;
  z-index:9990
}

.bfm-confetti i {
  animation:bfmConfetti linear forwards;
  height:9px;
  position:absolute;
  top:-20px;
  width:7px
}

@keyframes bfmConfetti {
  to {
    opacity:0;
    transform:translateY(110vh) rotate(720deg)
  }
}

.bfm-chapter {
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease,transform .65s ease
}

.bfm-chapter.is-visible {
  opacity:1;
  transform:none
}

@media(max-width:600px) {
  .bfm-cap {
    max-width:100%;
    width:100%
  }
  .bfm-cap h3 {
    white-space:normal
  }
  .bfm-limit button {
    grid-template-columns:8px 62px 1fr 18px
  }
}

@media(prefers-reduced-motion:reduce) {
  .bfm-chapter {
    opacity:1;
    transform:none
  }
  .bfm-confetti {
    display:none
  }
}

.bfm-page {
  background:#050507;
  font-size:16px;
  line-height:1.6
}

.bfm-page::before {
  background-image:radial-gradient(circle,rgba(139,92,246,.25) 1px,transparent 1px);
  background-size:32px 32px;
  inset:0;
  opacity:.35;
  position:fixed;
  z-index:0
}

.bfm-grain {
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px;
  inset:0;
  opacity:.035;
  pointer-events:none;
  position:fixed;
  z-index:70
}

.bfm-orb {
  animation:bfmOrb 30s ease-in-out infinite alternate;
  background:radial-gradient(circle at 40% 40%,rgba(139,92,246,.12),rgba(99,102,241,.06) 40%,rgba(56,189,248,.04) 70%,transparent);
  border-radius:50%;
  filter:blur(60px);
  height:900px;
  pointer-events:none;
  position:fixed;
  width:900px;
  z-index:0
}

@keyframes bfmOrb {
  0% {
    transform:translate(-10vw,-10vh)
  }
  33% {
    transform:translate(15vw,5vh)
  }
  66% {
    transform:translate(-5vw,20vh)
  }
  100% {
    transform:translate(20vw,-5vh)
  }
}

.bfm-hero {
  min-height:calc(100vh - 56px);
  padding-bottom:0;
  padding-top:4px
}

.bfm-hero h1 {
  font-size:clamp(44.8px,5vw,67.2px);
  letter-spacing:0;
  line-height:1.05
}

.bfm-transmission {
  backdrop-filter:blur(20px) saturate(140%);
  background:rgba(20,20,28,.55);
  border-radius:16px;
  box-shadow:none;
  padding:28px
}

.bfm-transmission>header {
  border-bottom:0;
  letter-spacing:.25em;
  margin-bottom:20px;
  padding-bottom:0
}

.bfm-wave {
  background:rgba(0,0,0,.4);
  border:1px solid rgba(56,189,248,.2);
  border-radius:8px;
  height:60px;
  margin:0 0 24px;
  overflow:hidden
}

.bfm-wave svg {
  height:100%;
  width:100%
}

.bfm-feed {
  color:var(--bfm-v);
  font-size:13px;
  line-height:2;
  min-height:100px
}

.bfm-beta-state {
  border-top:0;
  margin-top:20px;
  padding-top:0
}

.bfm-main {
  padding-bottom:120px
}

.bfm-chapter {
  padding:100px 0 60px
}

.bfm-chapter>header {
  border-image:linear-gradient(90deg,var(--bfm-v),var(--bfm-i),var(--bfm-b),transparent) 1;
  margin-bottom:56px;
  padding-top:48px
}

.bfm-feed b {
  color:var(--bfm-v);
  margin-right:8px
}

.bfm-feed p {
  margin:0
}

.bfm-feed p>i {
  animation:bfmCursor .8s step-end infinite;
  background:var(--bfm-v);
  display:inline-block;
  height:13px;
  margin-left:4px;
  vertical-align:middle;
  width:7px
}

@keyframes bfmCursor {
  50% {
    opacity:0
  }
}

.bfm-terminal footer {
  align-items:center;
  flex-wrap:wrap
}

.bfm-terminal footer button {
  background:rgba(34,197,94,.1);
  border:1px solid rgba(34,197,94,.25);
  border-radius:6px;
  color:#22c55e;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  padding:7px 11px
}

.bfm-terminal footer span {
  color:#22c55e;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  margin-right:auto
}

.bfm-cursor-glow {
  background:radial-gradient(circle,rgba(139,92,246,.08),transparent 70%);
  border-radius:50%;
  height:600px;
  pointer-events:none;
  position:fixed;
  transform:translate(-50%,-50%);
  width:600px;
  z-index:60
}

.bfm-cursor-dot {
  background:var(--bfm-v);
  border-radius:50%;
  box-shadow:0 0 12px var(--bfm-v),0 0 24px rgba(139,92,246,.5);
  height:8px;
  pointer-events:none;
  position:fixed;
  transform:translate(-50%,-50%);
  transition:transform .15s ease;
  width:8px;
  z-index:71
}

@media(min-width:901px) and (pointer:fine) {
  .bfm-page,.bfm-page a,.bfm-page button,.bfm-page input,.bfm-page select,.bfm-page textarea {
    cursor:none
  }
}

@media(max-width:900px) {
  .bfm-transmission {
    display:none
  }
  .bfm-hero {
    display:flex;
    min-height:calc(100vh - 56px)
  }
  .bfm-cursor-glow,.bfm-cursor-dot {
    display:none
  }
  .bfm-protocol {
    gap:24px;
    grid-template-columns:1fr
  }
  .bfm-timer {
    align-items:center;
    display:flex;
    gap:16px;
    justify-content:center
  }
}

/* Field Manual chapters: reference geometry */
.bfm-chapter>header>span {
  align-items:center;
  display:flex;
  gap:12px;
  margin-bottom:12px
}

.bfm-chapter>header>span::after {
  background:linear-gradient(90deg,rgba(139,92,246,.4),transparent);
  content:"";
  height:1px;
  max-width:200px;
  width:100%
}

.bfm-chapter h2 {
  font-size:clamp(32px,5vw,51.2px);
  line-height:1.1;
  margin:0
}

.bfm-cap-grid {
  gap:14px
}

.bfm-cap {
  backdrop-filter:blur(12px);
  background:rgba(20,20,28,.55);
  border-color:rgba(139,92,246,.18);
  border-radius:12px;
  min-width:160px;
  padding:14px 18px;
  transition:all .3s ease
}

.bfm-cap:hover {
  border-color:rgba(139,92,246,.45);
  box-shadow:0 8px 30px rgba(139,92,246,.2);
  transform:translateY(-3px)
}

.bfm-cap h3 {
  font-size:14.4px;
  font-weight:500
}

.bfm-cap p {
  font-size:13.12px;
  line-height:1.55
}

.bfm-pin-state {
  margin-top:20px
}

.bfm-protocol {
  align-items:start;
  gap:48px;
  grid-template-columns:auto 1fr
}

.bfm-timer {
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:16px
}

.bfm-timer>div {
  height:140px;
  margin:0;
  position:relative;
  width:140px
}

.bfm-timer svg {
  height:140px;
  width:140px
}

.bfm-timer circle {
  stroke-width:6
}

.bfm-timer .bfm-timer-ring {
  stroke:url(#bfm-ring-gradient);
  stroke-dasharray:364.42;
  stroke-dashoffset:0
}

.bfm-timer strong {
  font-size:22px;
  top:47%
}

.bfm-timer small {
  font-size:9px;
  letter-spacing:.08em;
  top:60%
}

.bfm-timer section {
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:8px
}

.bfm-timer section span {
  color:var(--bfm-dim);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase
}

.bfm-timer button {
  border-radius:8px;
  font-size:12px;
  letter-spacing:.1em;
  padding:10px 22px
}

.bfm-checklist {
  gap:10px
}

.bfm-check {
  background:rgba(20,20,28,.55);
  border-color:rgba(255,255,255,.06);
  border-radius:10px;
  padding:14px 18px
}

.bfm-check>i {
  border:1.5px solid var(--bfm-dim);
  border-radius:5px
}

.bfm-check.is-done>i {
  background:var(--bfm-v);
  border-color:var(--bfm-v)
}

.bfm-check.is-done>i::after {
  color:#fff
}

.bfm-check>b {
  color:var(--bfm-muted);
  font-size:14.4px
}

.bfm-mission {
  font-size:14px;
  margin-top:16px;
  padding:24px
}

.bfm-accordion {
  gap:10px
}

.bfm-limit {
  background:rgba(20,20,28,.55);
  border-radius:12px
}

.bfm-limit button {
  display:flex;
  gap:14px;
  padding:18px 20px
}

.bfm-limit button>i {
  flex:0 0 8px;
  order:0
}

.bfm-limit button>span {
  flex:0 0 auto;
  order:1
}

.bfm-limit button>b {
  flex:1;
  font-size:14.4px;
  order:2
}

.bfm-limit button>em {
  flex:0 0 16px;
  order:3
}

.bfm-limit>div>p {
  font-size:14px;
  line-height:1.65;
  padding-left:20px;
  padding-right:20px
}

.bfm-limit.is-open>div>p {
  padding-bottom:18px
}

@media(max-width:900px) {
  .bfm-protocol {
    gap:24px;
    grid-template-columns:1fr
  }
  .bfm-timer {
    flex-direction:row;
    justify-content:center
  }
}

@media(max-width:600px) {
  .bfm-cap {
    max-width:100%;
    width:100%
  }
  .bfm-timer {
    align-items:center;
    flex-direction:column
  }
  .bfm-limit button {
    gap:9px;
    padding:16px 12px
  }
  .bfm-limit button>span {
    font-size:8px;
    padding:2px 5px
  }
  .bfm-limit button>b {
    font-size:13px
  }
}

.bfm-limit[data-severity="high"] {
  border-left-color:rgba(239,68,68,.6)
}

.bfm-limit[data-severity="high"] button>i {
  background:#f87171;
  box-shadow:0 0 6px #f87171
}

.bfm-limit[data-severity="high"] button>span {
  background:rgba(239,68,68,.2);
  border-color:rgba(239,68,68,.3);
  color:#f87171
}

.bfm-limit[data-severity="medium"] {
  border-left-color:rgba(251,146,60,.6)
}

.bfm-limit[data-severity="medium"] button>i {
  background:#fb923c;
  box-shadow:0 0 6px #fb923c
}

.bfm-limit[data-severity="medium"] button>span {
  background:rgba(251,146,60,.15);
  border-color:rgba(251,146,60,.25);
  color:#fb923c
}

.bfm-limit[data-severity="low"] {
  border-left-color:rgba(163,230,53,.4)
}

.bfm-limit[data-severity="low"] button>i {
  background:#a3e635;
  box-shadow:0 0 6px #a3e635
}

.bfm-limit[data-severity="low"] button>span {
  background:rgba(163,230,53,.12);
  border-color:rgba(163,230,53,.2);
  color:#a3e635
}

.bfm-limit button>span {
  text-transform:uppercase
}

.bfm-limit button>em {
  transform:none
}

.bfm-limit.is-open button>em {
  transform:rotate(180deg)
}

/* Equal capability cards */
.bfm-cap-grid {
  align-items:stretch;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.bfm-cap {
  display:flex;
  flex-direction:column;
  height:100%;
  max-width:none;
  min-height:54px;
  min-width:0;
  width:100%
}

.bfm-cap h3 {
  min-height:24px;
  white-space:normal
}

.bfm-cap p {
  max-width:none;
  width:100%
}

.bfm-cap.is-open,.bfm-cap.is-pinned {
  min-height:142px
}

@media(max-width:850px) {
  .bfm-cap-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:560px) {
  .bfm-cap-grid {
    grid-template-columns:1fr
  }
  .bfm-cap {
    min-height:54px
  }
  .bfm-cap.is-open,.bfm-cap.is-pinned {
    min-height:128px
  }
}
