.bh-credits{--bh-accent:#c3dd9b;--bh-text:#e9e9e2;--bh-muted:#9a9a92;--bh-line:rgba(255,255,255,.12);
  margin-top:28px;padding-top:22px;border-top:1px solid var(--bh-line);color:var(--bh-text)}
.bh-credits__head{font-family:"IBM Plex Mono","Courier New",monospace;font-size:13px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bh-accent);margin:0 0 4px}
.bh-credits__head small{display:block;font-family:inherit;letter-spacing:0;text-transform:none;color:var(--bh-muted);font-size:12px;margin-top:2px}
.bh-credits ul.bh-credits__list,.bh-credits__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px 28px;margin:18px 0 0;padding:0;list-style:none}
.bh-credits__item dt{font-family:"IBM Plex Mono","Courier New",monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--bh-accent)}
.bh-credits__item dt span{display:block;letter-spacing:0;text-transform:none;color:var(--bh-muted);font-size:12px;margin-top:2px}
.bh-credits__item dd{margin:6px 0 0;font-size:16px;line-height:1.5;color:var(--bh-text)}
.bh-credits--compact{margin-top:14px;padding-top:12px}.bh-credits--compact .bh-credits__head{display:none}
.bh-credits--compact .bh-credits ul.bh-credits__list,.bh-credits__list{margin:0;gap:8px 20px}.bh-credits--compact .bh-credits__item dd{font-size:14px;margin-top:2px}

/* admin */
.bh-credit-row{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.12)}
.bh-credit-row .field{margin:0}
.bh-credit-tools{display:flex;gap:4px}
.bh-credit-tools button{background:transparent;color:inherit;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:8px 10px;cursor:pointer}
@media(max-width:760px){.bh-credit-row{grid-template-columns:1fr 1fr}.bh-credit-row .bh-credit-names{grid-column:1/-1}}
.bh-credit-msg{padding:10px 14px;border-radius:6px;margin:0}.bh-credit-msg.ok{border:1px solid #c3dd9b;color:#c3dd9b}.bh-credit-msg.err{border:1px solid #e07a6a;color:#e07a6a}

.bh-credits__list>li{margin:0;padding:0;list-style:none}.bh-credits__list>li::before,.bh-credits__list>li::marker{content:none}
.bh-credits__item{margin:0}

/* ===== STATUS timeline — liquid glass ===== */
.detail-copy .bh-stage:not(.is-placed){display:none}
.bh-stage.is-moved{border-top:0;margin-top:0;padding-bottom:48px}
.bh-stage.is-moved .bh-stage__head{padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.bh-stage{--g:#a9cf7c;--g2:#7fb356;--r:#e5675a;--r2:#b8423a;--txt:#e9e9e2;--mut:#8f8f88;
  grid-column:1/-1;margin:36px 0 8px;padding:26px 0 8px;border-top:1px solid rgba(255,255,255,.1);color:var(--txt)}
.bh-stage__head{font-family:"IBM Plex Mono","Courier New",monospace;font-size:13px;letter-spacing:.16em;color:var(--g);margin:0;font-weight:500}
.bh-stage__head span{letter-spacing:0;color:var(--mut)}
.bh-stage__now{display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:12px 0 26px;padding:7px 14px 7px 10px;font-size:13px;color:var(--mut);
  border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08),0 6px 18px rgba(0,0,0,.35);
  -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.bh-stage__now::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 10px var(--g)}
.bh-stage__now strong{color:var(--g);font-weight:600;letter-spacing:.04em}
.bh-stage__wrap{position:relative}
.bh-stage__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));position:relative;z-index:1}
.bh-stage__list>li::before,.bh-stage__list>li::marker{content:none}
.bh-stage__step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;margin:0;padding:0 2px}
.bh-stage__step strong{font-size:11px;line-height:1.3;font-weight:600;color:var(--mut);letter-spacing:.06em;transition:color .4s}
.bh-stage__step small{font-size:11px;color:var(--mut);opacity:.75;transition:color .4s}

/* glass bubble */
.bh-stage__dot{--c:var(--r);--c2:var(--r2);position:relative;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;margin-bottom:9px;
  color:var(--c);isolation:isolate;box-sizing:border-box;
  background:
    radial-gradient(120% 90% at 50% -10%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.06) 42%,rgba(255,255,255,0) 60%),
    color-mix(in srgb,var(--c) 35%,rgba(12,13,11,.6));
  border:1px solid color-mix(in srgb,var(--c) 75%,transparent);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.45),inset 0 -1px 2px rgba(0,0,0,.3),
    0 0 0 3px #0b0c0a,0 2px 8px color-mix(in srgb,var(--c) 30%,transparent);
  transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .45s,background .45s}
.bh-stage__dot svg{display:block;width:8px;height:8px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));transition:opacity .35s}
.bh-stage__step.is-todo .bh-stage__dot{--c:#ec6c5e;--c2:#b23a32}
.bh-stage__step.is-done .bh-stage__dot{--c:var(--g);--c2:var(--g2)}
.bh-stage__step.is-current .bh-stage__dot{--c:#b9e08a;--c2:var(--g2);transform:scale(1.15)}
.bh-stage__step.is-done strong,.bh-stage__step.is-current strong,.bh-stage__step.is-done small,.bh-stage__step.is-current small{color:var(--g);opacity:1}
.bh-stage__step.is-current .bh-stage__dot::after{content:"";position:absolute;inset:-1px;border-radius:50%;z-index:-1;animation:bhRipple 2s ease-out infinite;
  box-shadow:0 0 0 0 rgba(169,207,124,.55)}
@keyframes bhRipple{0%{box-shadow:0 0 0 0 rgba(169,207,124,.55)}100%{box-shadow:0 0 0 9px rgba(169,207,124,0)}}

/* thin glass track */
.bh-stage__track{position:absolute;top:7.5px;height:1px;left:calc(100%/20);right:calc(100%/20);border-radius:2px;
  background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,.08))}
.bh-stage__fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:linear-gradient(90deg,var(--g2),var(--g));
  box-shadow:0 0 6px rgba(169,207,124,.45);transition:width 1.6s cubic-bezier(.4,0,.2,1)}

/* entrance animation (JS adds .js-ready, then .is-in when visible) */
.bh-stage.js-ready .bh-stage__fill{width:0}
.bh-stage:not(.js-ready)[data-stage="0"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="0"] .bh-stage__fill{width:0.0000%}
.bh-stage:not(.js-ready)[data-stage="1"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="1"] .bh-stage__fill{width:11.1111%}
.bh-stage:not(.js-ready)[data-stage="2"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="2"] .bh-stage__fill{width:22.2222%}
.bh-stage:not(.js-ready)[data-stage="3"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="3"] .bh-stage__fill{width:33.3333%}
.bh-stage:not(.js-ready)[data-stage="4"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="4"] .bh-stage__fill{width:44.4444%}
.bh-stage:not(.js-ready)[data-stage="5"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="5"] .bh-stage__fill{width:55.5556%}
.bh-stage:not(.js-ready)[data-stage="6"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="6"] .bh-stage__fill{width:66.6667%}
.bh-stage:not(.js-ready)[data-stage="7"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="7"] .bh-stage__fill{width:77.7778%}
.bh-stage:not(.js-ready)[data-stage="8"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="8"] .bh-stage__fill{width:88.8889%}
.bh-stage:not(.js-ready)[data-stage="9"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="9"] .bh-stage__fill{width:100.0000%}
.bh-stage.js-ready .bh-stage__step.is-done .bh-stage__dot,.bh-stage.js-ready .bh-stage__step.is-current .bh-stage__dot{--c:#ec6c5e;--c2:#b23a32;transform:scale(.85)}
.bh-stage.js-ready .bh-stage__step.is-done svg,.bh-stage.js-ready .bh-stage__step.is-current svg{opacity:0}
.bh-stage.js-ready .bh-stage__step.is-done strong,.bh-stage.js-ready .bh-stage__step.is-current strong,
.bh-stage.js-ready .bh-stage__step.is-done small,.bh-stage.js-ready .bh-stage__step.is-current small{color:var(--mut)}
.bh-stage.js-ready .bh-stage__step.is-current .bh-stage__dot::after{animation:none}
.bh-stage.js-ready.is-in .bh-stage__step.is-done .bh-stage__dot{--c:var(--g);--c2:var(--g2);transform:none}
.bh-stage.js-ready.is-in .bh-stage__step.is-current .bh-stage__dot{--c:#b9e08a;--c2:var(--g2);transform:scale(1.15)}
.bh-stage.js-ready.is-in .bh-stage__step svg{opacity:1}
.bh-stage.js-ready.is-in .bh-stage__step.is-done strong,.bh-stage.js-ready.is-in .bh-stage__step.is-current strong,
.bh-stage.js-ready.is-in .bh-stage__step.is-done small,.bh-stage.js-ready.is-in .bh-stage__step.is-current small{color:var(--g);opacity:1}
.bh-stage.js-ready.is-in .bh-stage__step.is-current .bh-stage__dot::after{animation:bhRipple 2s ease-out 1.8s infinite}

.bh-stage.js-ready.is-in .s-0 .bh-stage__dot,.bh-stage.js-ready.is-in .s-0 svg,.bh-stage.js-ready.is-in .s-0 strong,.bh-stage.js-ready.is-in .s-0 small{transition-delay:0.12s}
.bh-stage.js-ready.is-in .s-1 .bh-stage__dot,.bh-stage.js-ready.is-in .s-1 svg,.bh-stage.js-ready.is-in .s-1 strong,.bh-stage.js-ready.is-in .s-1 small{transition-delay:0.28s}
.bh-stage.js-ready.is-in .s-2 .bh-stage__dot,.bh-stage.js-ready.is-in .s-2 svg,.bh-stage.js-ready.is-in .s-2 strong,.bh-stage.js-ready.is-in .s-2 small{transition-delay:0.44s}
.bh-stage.js-ready.is-in .s-3 .bh-stage__dot,.bh-stage.js-ready.is-in .s-3 svg,.bh-stage.js-ready.is-in .s-3 strong,.bh-stage.js-ready.is-in .s-3 small{transition-delay:0.60s}
.bh-stage.js-ready.is-in .s-4 .bh-stage__dot,.bh-stage.js-ready.is-in .s-4 svg,.bh-stage.js-ready.is-in .s-4 strong,.bh-stage.js-ready.is-in .s-4 small{transition-delay:0.76s}
.bh-stage.js-ready.is-in .s-5 .bh-stage__dot,.bh-stage.js-ready.is-in .s-5 svg,.bh-stage.js-ready.is-in .s-5 strong,.bh-stage.js-ready.is-in .s-5 small{transition-delay:0.92s}
.bh-stage.js-ready.is-in .s-6 .bh-stage__dot,.bh-stage.js-ready.is-in .s-6 svg,.bh-stage.js-ready.is-in .s-6 strong,.bh-stage.js-ready.is-in .s-6 small{transition-delay:1.08s}
.bh-stage.js-ready.is-in .s-7 .bh-stage__dot,.bh-stage.js-ready.is-in .s-7 svg,.bh-stage.js-ready.is-in .s-7 strong,.bh-stage.js-ready.is-in .s-7 small{transition-delay:1.24s}
.bh-stage.js-ready.is-in .s-8 .bh-stage__dot,.bh-stage.js-ready.is-in .s-8 svg,.bh-stage.js-ready.is-in .s-8 strong,.bh-stage.js-ready.is-in .s-8 small{transition-delay:1.40s}
.bh-stage.js-ready.is-in .s-9 .bh-stage__dot,.bh-stage.js-ready.is-in .s-9 svg,.bh-stage.js-ready.is-in .s-9 strong,.bh-stage.js-ready.is-in .s-9 small{transition-delay:1.56s}

/* iPad landscape */
@media (max-width:1240px) and (min-width:901px){
  .bh-stage__step strong{font-size:10.5px;letter-spacing:.02em}
  .bh-stage__step small{font-size:10.5px}
}
/* phone + iPad portrait: vertical list of glass rows */
@media (max-width:900px){
  .bh-stage__now{margin:12px 0 18px}
  .bh-stage__list{grid-template-columns:1fr;gap:4px}
  .bh-stage__step{display:grid;grid-template-columns:18px 1fr auto;column-gap:14px;align-items:center;text-align:left;
    padding:9px 14px 9px 0;border-radius:14px;transition:background .4s}
  .bh-stage__dot{margin:0;width:18px;height:18px}
  .bh-stage__dot svg{width:9px;height:9px}
  .bh-stage__step strong{font-size:13px;letter-spacing:.06em}
  .bh-stage__step small{font-size:13px;opacity:.85}
  .bh-stage__step.is-current{background:linear-gradient(90deg,rgba(169,207,124,.12),rgba(169,207,124,.02));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(169,207,124,.18)}
  .bh-stage.js-ready:not(.is-in) .bh-stage__step.is-current{background:none;box-shadow:none}
  .bh-stage__step.is-current .bh-stage__dot{transform:scale(1.08)}
  .bh-stage.js-ready.is-in .bh-stage__step.is-current .bh-stage__dot{transform:scale(1.08)}
  .bh-stage__track{top:18px;bottom:18px;left:8.5px;right:auto;width:1px;height:auto;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06))}
  .bh-stage__fill{width:100%!important;height:0;background:linear-gradient(180deg,var(--g2),var(--g));transition:height 1.6s cubic-bezier(.4,0,.2,1)}
  .bh-stage[data-stage="0"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="0"] .bh-stage__fill{height:0.0000%}
  .bh-stage[data-stage="1"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="1"] .bh-stage__fill{height:11.1111%}
  .bh-stage[data-stage="2"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="2"] .bh-stage__fill{height:22.2222%}
  .bh-stage[data-stage="3"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="3"] .bh-stage__fill{height:33.3333%}
  .bh-stage[data-stage="4"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="4"] .bh-stage__fill{height:44.4444%}
  .bh-stage[data-stage="5"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="5"] .bh-stage__fill{height:55.5556%}
  .bh-stage[data-stage="6"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="6"] .bh-stage__fill{height:66.6667%}
  .bh-stage[data-stage="7"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="7"] .bh-stage__fill{height:77.7778%}
  .bh-stage[data-stage="8"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="8"] .bh-stage__fill{height:88.8889%}
  .bh-stage[data-stage="9"] .bh-stage__fill,.bh-stage.js-ready.is-in[data-stage="9"] .bh-stage__fill{height:100.0000%}
  .bh-stage.js-ready:not(.is-in) .bh-stage__fill{height:0}
  .bh-stage-options{grid-template-columns:1fr 1fr}
}
@media (max-width:420px){.bh-stage-options{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.bh-stage *,.bh-stage *::after{transition:none!important;animation:none!important}}

/* admin stage picker */
.bh-stage-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.bh-stage-opt{display:flex;gap:8px;align-items:flex-start;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:9px 10px;cursor:pointer}
.bh-stage-opt span{display:flex;flex-direction:column;gap:2px}.bh-stage-opt small{color:#9a9a92}
.bh-stage-opt:has(input:checked){border-color:#c3dd9b;background:rgba(195,221,155,.1)}
