.nightjar {
  --nj-ink:#102827; --nj-cream:#e8f7ed; --nj-mint:#9fe9ce; --nj-amber:#ffc480;
  container-type:inline-size;
  max-width:1240px; margin-inline:auto; color:var(--nj-ink);
}
.nightjar .nj-mode { min-width:0; margin:0; padding:0; border:0 }
.nightjar .nj-mode legend { padding:0; font-size:1.17rem; line-height:1.35; font-weight:680 }
.nightjar .nj-intro { max-width:66ch; margin:.3rem 0 .8rem; color:#425c55; font-size:1rem; line-height:1.5 }
.nightjar .nj-radio { position:absolute; width:1px; height:1px; margin:0; padding:0; clip-path:inset(50%); overflow:hidden }
.nightjar .nj-mode > label { display:inline-flex; align-items:center; margin:0 .2rem .5rem 0; min-height:44px; padding:.48rem .8rem; border:1px solid #78948a; color:#254d40; border-radius:4px; font-size:.93rem; font-weight:650; cursor:pointer }
.nightjar .nj-radio:checked + label { color:white; background:#1f473b; border-color:#1f473b }
.nightjar .nj-radio:focus-visible + label { outline:3px solid #087b5e; outline-offset:3px }
.nightjar .nj-site { color:var(--nj-cream); margin-top:.4rem; border:1px solid #274641; border-radius:7px; overflow:hidden; background:#102827 }
.nightjar .nj-mast,.nightjar .nj-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.45rem 1rem; padding:clamp(14px,2.6cqw,32px) clamp(16px,3.5cqw,44px) }
.nightjar .nj-mast { border-bottom:1px solid #40605b; background:#102522 }
.nightjar .nj-brand { display:inline-flex; align-items:center; color:#eafff2; font:700 clamp(1.22rem,3cqw,2rem)/1.1 Georgia,serif; letter-spacing:-.05em }
.nightjar .nj-brand svg { margin-right:.48rem; color:var(--nj-mint) }
.nightjar .nj-brand span { margin-left:.22em; font-weight:400; font-style:italic }
.nightjar .nj-mast-service,.nightjar .nj-line,.nightjar .nj-mono,.nightjar .nj-art figcaption,.nightjar .nj-ticket-head span { font:600 .78rem/1.5 var(--mono,Consolas,monospace) }
.nightjar .nj-mast-service { color:#b1d2c5 }
.nightjar .nj-stage { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; background:radial-gradient(ellipse at 83% 50%,#244543 0,transparent 58%),#112d2c }
.nightjar .nj-scene { display:none; min-width:0 }
#nj-day:checked ~ .nj-site .nj-staffed,#nj-night:checked ~ .nj-site .nj-closed { display:block }
.nightjar .nj-copy { padding:clamp(23px,4.6cqw,64px) clamp(16px,3.5cqw,44px) 1.3rem }
.nightjar .nj-copy p,.nightjar .nj-art { margin:0 }
.nightjar .nj-line { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .5rem; color:var(--nj-mint); letter-spacing:.015em }
.nightjar .nj-status-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--nj-mint); box-shadow:0 0 0 3px #315a4c }
.nightjar .nj-closed .nj-status-dot { background:var(--nj-amber); box-shadow:0 0 0 3px #524536 }
.nightjar .nj-closed .nj-line { color:var(--nj-amber) }
.nightjar .nj-separator { color:#8fa99a }
.nightjar .nj-copy h2 { max-width:12ch; margin:1.05rem 0 .55rem; font:600 clamp(2.65rem,7.6cqw,5.75rem)/.99 Georgia,"Times New Roman",serif; letter-spacing:-.065em; color:var(--nj-cream) }
.nightjar .nj-deck { color:var(--nj-mint); font-size:clamp(1.05rem,2.1cqw,1.35rem); font-weight:600; line-height:1.35 }
.nightjar .nj-description { margin-top:.7rem!important; max-width:40ch; color:#d1e3d9; font-size:1rem; line-height:1.55 }
.nightjar .nj-call { margin:1.25rem 0 0 }
.nightjar .nj-call summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:fit-content; max-width:100%; min-height:46px; padding:.6rem 1rem; border-radius:3px; background:var(--nj-mint); color:#10342a; font-size:1rem; line-height:1.4; font-weight:720; cursor:pointer; list-style:none }
.nightjar .nj-closed .nj-call summary { background:var(--nj-amber); color:#312316 }
.nightjar .nj-call summary::-webkit-details-marker { display:none }
.nightjar .nj-call summary:focus-visible { outline:3px solid white; outline-offset:4px }
.nightjar .nj-call[open] summary svg { transform:rotate(90deg) }
.nightjar .nj-response { border-left:2px solid #83b9a9; margin:1.05rem 0 .2rem; padding-left:1rem; max-width:52ch }
.nightjar .nj-mono { color:#aad0bd }
.nightjar .nj-response h3 { color:white; margin:.35rem 0; font-size:1.28rem; letter-spacing:-.025em; line-height:1.25 }
.nightjar .nj-response > p { color:#d7e8de; line-height:1.55 }
.nightjar .nj-ticket { color:#243b32; background:#ecf5e9; padding:.9rem; margin:.85rem 0; border-radius:3px }
.nightjar .nj-ticket-head { display:flex; align-items:center; justify-content:space-between; gap:.65rem; padding-bottom:.5rem; border-bottom:1px dashed #abbfac }
.nightjar .nj-ticket dl { margin:.6rem 0 }
.nightjar .nj-ticket dl div { display:grid; grid-template-columns:4.8rem minmax(0,1fr); gap:.3rem; padding:.18rem 0 }
.nightjar .nj-ticket dt { color:#465c4e }
.nightjar .nj-ticket dd { margin:0; font-weight:640 }
.nightjar .nj-ticket p { font-size:.88rem; color:#364c3d; line-height:1.4 }
.nightjar .nj-art { min-width:0; align-self:start; padding:0 .7rem .9rem }
.nightjar .nj-art img { display:block; width:100%; height:auto }
.nightjar .nj-art figcaption { text-align:center; color:#c3ddd0 }
.nightjar .nj-art figcaption span { color:#ecb97d; margin-right:.55rem }
.nightjar .nj-bottom { border-top:1px solid #40605b; padding-block:.85rem; color:#b3c9bf; font-size:.87rem; line-height:1.4 }
.nightjar .nj-bottom span { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.3rem .55rem }
.nightjar .nj-bottom strong { color:#e2f5e9 }
@container(min-width:670px) {
  .nightjar .nj-stage { grid-template-columns:minmax(0,1fr) minmax(0,1fr) }
  .nightjar .nj-art { padding:clamp(12px,3cqw,40px) .7rem 1rem 0 }
  .nightjar .nj-copy { padding-right:.25rem; padding-bottom:clamp(22px,4cqw,54px) }
}
@container(max-width:370px) {
  .nightjar .nj-mode > label { font-size:.87rem; padding-inline:.52rem }
  .nightjar .nj-mast-service { font-size:.7rem }
}
@media (max-width:1280px) {
  .nightjar .nj-mode {--nj-gutter:clamp(16px,4vw,40px);padding-inline:var(--nj-gutter)}
  .nightjar .nj-site {margin-inline:calc(-1 * var(--nj-gutter))}
}
