/* ==========================================================================
   ARCUS AI PTY LTD  /  quiver.css
   Dark range surface. Reddit Mono carries the texture, Anybody carries the
   display. No imagery, no box shadow, nothing rounded beyond 2px.
   Every piece of state is a [data-*] attribute.
   ========================================================================== */

:root{
  --range:#091417;
  --range-lift:#0E1D21;
  --range-deep:#050E10;
  --ink:#DCE9EC;
  --ink-dim:#93A9AE;
  --ink-faint:#667C81;
  --rule:#17282C;
  --rule-strong:#26424A;
  --gold:#3FA9C9;
  --gold-lift:#6FC6E0;
  --gold-line:rgba(63,169,201,0.38);
  --gold-wash:rgba(63,169,201,0.07);
  --display:Anybody,"Trebuchet MS","Helvetica Neue",Arial,sans-serif;
  --mono:"Reddit Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --lane:74rem;
  --lane-read:46rem;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background-color:#091417;
  color:var(--ink);
  font-family:var(--mono);
  font-size:0.97rem;
  line-height:1.72;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.015em;
  margin:0;
  color:var(--ink);
}

p,ul,ol,dl,dd,figure,blockquote{margin:0}
li{margin:0}
strong{font-weight:700;color:var(--ink)}
em{font-style:italic}

a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-line)}
a:hover{border-bottom-color:var(--gold)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold-lift);outline-offset:3px;
}

table{border-collapse:collapse;border-spacing:0}

/* ---------------------------------------------------------------- shell -- */

.sight-skip{
  position:absolute;left:-9999px;top:0;z-index:60;
  background:var(--gold);color:#050E10;
  font-family:var(--mono);font-weight:700;font-size:0.76rem;
  letter-spacing:0.14em;text-transform:uppercase;
  padding:0.7rem 1.1rem;border-bottom:0;
}
.sight-skip:focus{left:0}

.range-lane{
  width:100%;
  max-width:var(--lane);
  margin:0 auto;
  padding-left:1.7rem;
  padding-right:1.7rem;
}

/* --------------------------------------------------------------- header -- */

.nock-bar{
  position:sticky;top:0;z-index:40;
  background:var(--range-deep);
  border-bottom:1px solid var(--rule);
}
.nock-bar-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:1.4rem;min-height:4.1rem;
}
.nock-mark{
  display:inline-flex;align-items:center;gap:0.75rem;
  border-bottom:0;color:var(--ink);
}
.nock-mark:hover{border-bottom:0}
.nock-glyph{
  position:relative;display:inline-block;
  width:1.5rem;height:1.5rem;flex:none;
}
.nock-glyph::before{
  content:"";position:absolute;inset:0;
  border:2px solid transparent;
  border-left-color:var(--gold);
  border-top-color:var(--gold);
  border-radius:50%;
  transform:rotate(45deg);
}
.nock-glyph::after{
  content:"";position:absolute;top:0.1rem;bottom:0.1rem;right:0.28rem;
  width:2px;background:var(--ink-faint);
}
.nock-name{
  font-family:var(--display);font-size:1.16rem;font-weight:800;
  letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);
}
.nock-nav{display:block}
.nock-list{
  list-style:none;margin:0;padding:0;
  display:flex;align-items:center;gap:1.8rem;
}
.nock-link{
  font-family:var(--mono);font-size:0.74rem;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-dim);border-bottom:0;
}
.nock-link:hover{color:var(--ink);border-bottom:0}
.nock-link[aria-current="page"]{color:var(--gold)}
.nock-toggle{
  display:none;
  width:2.6rem;height:2.6rem;
  align-items:center;justify-content:center;
  flex-direction:column;gap:0.3rem;
  background:transparent;border:1px solid var(--rule-strong);
  padding:0;cursor:pointer;
}
.nock-tick{display:block;width:1.15rem;height:1px;background:var(--ink)}

/* ------------------------------------------------------------------ hero -- */

.target-face{
  border-bottom:1px solid var(--rule);
  padding-top:5.4rem;padding-bottom:0;
}
.fletch{
  font-family:var(--mono);
  font-size:0.72rem;font-weight:600;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:1.5rem;
}
.target-face-title{
  font-size:clamp(2.5rem,6.6vw,4.4rem);
  line-height:1.02;
  letter-spacing:-0.03em;
  max-width:17ch;
  margin-bottom:1.9rem;
}
.flight-line{
  font-size:1.03rem;line-height:1.72;color:var(--ink-dim);
  max-width:62ch;
}
.flight-line strong{color:var(--ink)}
.loose-band{display:flex;flex-wrap:wrap;gap:0.85rem;margin-top:2.4rem}

.loose-act{
  display:inline-flex;align-items:center;
  font-family:var(--mono);
  padding:0.8rem 1.4rem;
  font-size:0.75rem;font-weight:700;letter-spacing:0.15em;
  text-transform:uppercase;border-bottom:0;border-radius:0;
}
.loose-act:hover{border-bottom:0}
.loose-act[data-loose="solid"]{background:var(--gold);color:#050E10;border:1px solid var(--gold)}
.loose-act[data-loose="solid"]:hover{background:var(--gold-lift);border-color:var(--gold-lift)}
.loose-act[data-loose="ghost"]{background:transparent;color:var(--ink);border:1px solid var(--rule-strong)}
.loose-act[data-loose="ghost"]:hover{border-color:var(--gold);color:var(--gold)}

.range-scale{
  margin-top:3.4rem;
  height:1.5rem;
  border-top:1px solid var(--rule);
  background-image:repeating-linear-gradient(90deg,var(--rule-strong) 0 1px,transparent 1px 0.75rem);
  background-repeat:repeat-x;
  background-size:100% 0.42rem;
  background-position:0 0;
}

/* --------------------------------------------------------------- sections -- */

.quiver{
  border-bottom:1px solid var(--rule);
  padding-top:4.1rem;padding-bottom:4.1rem;
}
.quiver:last-of-type{border-bottom:0}
.quiver-head{max-width:64ch;margin-bottom:2.5rem}
.quiver-title{
  font-size:clamp(1.6rem,3.2vw,2.25rem);
  margin-bottom:1rem;letter-spacing:-0.02em;
}
.quiver-no{
  font-family:var(--mono);color:var(--gold);
  font-weight:700;font-size:0.62em;letter-spacing:0.08em;
  margin-right:0.9rem;
}
.quiver-no::before{content:"\00A7"}
.quiver-line{font-size:1rem;color:var(--ink-dim);max-width:64ch}

.quiver-body{max-width:var(--lane-read)}
.quiver-body>*+*{margin-top:1.2rem}
.quiver-body h3{
  font-family:var(--display);font-size:1.1rem;font-weight:700;
  margin-top:2.5rem;color:var(--ink);letter-spacing:-0.005em;
}
.quiver-body h3:first-child{margin-top:0}
.quiver-body p{color:var(--ink-dim)}
.quiver-body ul,.quiver-body ol{padding-left:1.4rem;color:var(--ink-dim)}
.quiver-body li+li{margin-top:0.62rem}
.quiver-body ul{list-style:square}
.quiver-body ul li::marker{color:var(--gold)}
.quiver-body ol li::marker{color:var(--gold);font-weight:700}
.quiver-body[data-width="full"]{max-width:none}

/* ------------------------------------------------------------ shaft rail -- */

.shaft-rail{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));
  border-left:1px solid var(--rule);
}
.shaft{
  border-top:1px solid var(--rule);
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:1.3rem 1.4rem;
}
.shaft-key{
  font-family:var(--mono);
  font-size:0.68rem;font-weight:600;letter-spacing:0.17em;
  text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:0.55rem;
}
.shaft-value{
  font-family:var(--display);font-size:1.24rem;font-weight:700;
  line-height:1.25;color:var(--ink);letter-spacing:-0.01em;
}

.shaft-rail[data-rail="ledger"]{
  display:block;border-left:0;border-top:1px solid var(--rule);
}
.shaft-rail[data-rail="ledger"] .shaft{
  display:grid;grid-template-columns:13rem minmax(0,1fr);
  gap:1.1rem;padding:1rem 0;
  border-top:0;border-right:0;
  border-bottom:1px solid var(--rule);
}
.shaft-rail[data-rail="ledger"] .shaft-key{margin-bottom:0;padding-top:0.2rem}
.shaft-rail[data-rail="ledger"] .shaft-value{
  font-family:var(--mono);font-size:0.95rem;font-weight:400;
  color:var(--ink);line-height:1.7;letter-spacing:0;
}

/* ------------------------------------------------------- the sight shelf -- */

.sight-rail{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  padding-bottom:0.9rem;
  border-bottom:1px solid var(--rule);
}
.sight-rail-track{
  display:flex;
  gap:0;
  min-width:min-content;
  border-left:1px solid var(--rule);
}
.sight-pin{
  flex:0 0 19.5rem;
  scroll-snap-align:start;
  border-right:1px solid var(--rule);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:1.5rem 1.5rem 1.7rem;
  background:var(--range-lift);
  display:flex;flex-direction:column;
}
.sight-pin-no{
  font-family:var(--mono);
  font-size:0.68rem;font-weight:700;letter-spacing:0.18em;
  color:var(--gold);margin-bottom:1rem;
}
.sight-pin-name{
  font-family:var(--display);font-size:1.15rem;font-weight:800;
  letter-spacing:-0.01em;color:var(--ink);margin-bottom:0.2rem;
}
.sight-pin-alias{
  font-family:var(--mono);font-size:0.72rem;letter-spacing:0.06em;
  color:var(--ink-faint);margin-bottom:0.9rem;
}
.sight-pin-def{
  font-size:0.88rem;line-height:1.66;color:var(--ink-dim);
  flex:1 1 auto;
}
.sight-pin-foot{
  margin-top:1.2rem;padding-top:0.85rem;
  border-top:1px solid var(--rule-strong);
  font-family:var(--mono);font-size:0.68rem;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--ink-faint);
}
.sight-rail-note{
  font-family:var(--mono);font-size:0.72rem;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--ink-faint);
  margin-top:1rem;
}

/* --------------------------------------------------------- the boss grid -- */

.boss-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--rule);
  border:1px solid var(--rule);
}
.boss-card{
  background:var(--range);
  padding:1.7rem 1.6rem 1.8rem;
  min-width:0;
}
.boss-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:1rem;margin-bottom:0.9rem;
}
.boss-card-name{
  font-family:var(--display);font-size:1.12rem;font-weight:800;
  letter-spacing:-0.01em;color:var(--ink);
}
.boss-card-line{font-size:0.9rem;color:var(--ink-dim);margin-bottom:1.1rem}
.boss-card-body{
  list-style:none;margin:0;padding:0;
  border-top:1px solid var(--rule);
}
.boss-card-body li{
  font-size:0.85rem;line-height:1.62;color:var(--ink-dim);
  padding:0.7rem 0;border-bottom:1px solid var(--rule);
}
.boss-card-body li:last-child{border-bottom:0;padding-bottom:0}
.boss-card-body b{
  display:block;
  font-family:var(--mono);font-size:0.66rem;font-weight:700;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:0.2rem;
}

.ring-chip{
  flex:none;
  font-family:var(--mono);font-size:0.62rem;font-weight:700;
  letter-spacing:0.13em;text-transform:uppercase;
  padding:0.3rem 0.55rem;border-radius:2px;white-space:nowrap;
}
.ring-chip[data-ring="none"]{
  color:var(--ink-dim);border:1px solid var(--rule-strong);background:var(--range-lift);
}
.ring-chip[data-ring="open"]{
  color:var(--gold);border:1px solid var(--gold-line);background:var(--gold-wash);
}
.ring-chip[data-ring="out"]{
  color:var(--ink-faint);border:1px dashed var(--rule-strong);background:transparent;
}

/* -------------------------------------------------------------- callouts -- */

.windage{
  border-left:2px solid var(--gold);
  background:var(--range-lift);
  padding:1.2rem 1.5rem;
}
.windage>*+*{margin-top:0.85rem}
.windage p{color:var(--ink);font-size:0.93rem}
.windage-label{
  display:block;
  font-family:var(--mono);font-size:0.66rem;font-weight:700;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);
  margin-bottom:0.7rem;
}
.windage[data-tone="cold"]{
  border-left-color:var(--rule-strong);
  background:transparent;
  border-top:1px solid var(--rule);
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.windage[data-tone="cold"] p{color:var(--ink-dim)}
.windage[data-tone="cold"] .windage-label{color:var(--ink-faint)}

/* ---------------------------------------------------------------- tables -- */

.grouping-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--rule);
  max-width:100%;
}
.grouping{
  width:100%;
  min-width:40rem;
  font-size:0.86rem;
  text-align:left;
}
.grouping caption{
  text-align:left;
  padding:0.9rem 1.05rem;
  font-family:var(--mono);
  font-size:0.67rem;font-weight:700;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ink-faint);
  background:var(--range-deep);
  border-bottom:1px solid var(--rule);
}
.grouping th,.grouping td{
  padding:0.82rem 1.05rem;
  border-bottom:1px solid var(--rule);
  vertical-align:top;
}
.grouping thead th{
  font-family:var(--mono);
  font-size:0.66rem;font-weight:700;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--gold);
  background:var(--range-lift);
  white-space:nowrap;
}
.grouping tbody th{font-weight:600;color:var(--ink)}
.grouping td{color:var(--ink-dim)}
.grouping td:first-child{color:var(--ink);font-weight:500}
.grouping tbody tr:last-child th,
.grouping tbody tr:last-child td{border-bottom:0}

/* ------------------------------------------------------------ documents -- */

.score-sheet{
  display:grid;
  grid-template-columns:15rem minmax(0,1fr);
  gap:3.6rem;
  padding-top:3.2rem;
  padding-bottom:5rem;
  align-items:start;
}
.sight-marks{
  position:sticky;top:5.4rem;
  align-self:start;
  max-height:calc(100vh - 7.6rem);
  overflow-y:auto;
  border-top:1px solid var(--rule-strong);
  padding-top:1.1rem;
}
.sight-marks-head{
  font-family:var(--mono);
  font-size:0.67rem;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:1rem;
}
.sight-marks-list{
  list-style:decimal;
  margin:0;padding-left:1.6rem;
  font-size:0.8rem;
  color:var(--ink-faint);
}
.sight-marks-list li{margin-bottom:0.5rem}
.sight-marks-list li::marker{color:var(--ink-faint);font-size:0.72rem}
.sight-marks-link{
  color:var(--ink-dim);border-bottom:0;line-height:1.42;
  display:inline-block;
}
.sight-marks-link:hover{color:var(--gold);border-bottom:0}

.score-body{min-width:0}
.score-head{border-bottom:1px solid var(--rule);padding-bottom:2.3rem}
.score-head h1{
  font-size:clamp(2rem,4.4vw,3rem);
  letter-spacing:-0.03em;margin-bottom:1.2rem;
}
.score-head .flight-line{font-size:1rem}
.score-dates{
  display:flex;flex-wrap:wrap;gap:0.55rem 0.7rem;
  margin-top:1.7rem;
}
.score-dates span{
  font-family:var(--mono);
  font-size:0.66rem;font-weight:600;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--ink-faint);
  border:1px solid var(--rule);padding:0.38rem 0.7rem;
}
.score-body .quiver{padding-top:2.8rem;padding-bottom:2.8rem}
.score-body .quiver:last-of-type{border-bottom:1px solid var(--rule)}
.score-body .quiver-body{max-width:none}
.score-body .quiver-body table{margin-top:0.4rem}
.quiver-title[data-role="clause"]{
  display:flex;gap:0.15rem;align-items:baseline;
  font-size:clamp(1.28rem,2.4vw,1.62rem);
  margin-bottom:1.4rem;
}

/* --------------------------------------------------------------- reveals -- */

[data-motion="on"] .quiver[data-reveal="yes"]{
  opacity:0;
  transform:translateY(10px);
  transition:opacity 0.5s ease,transform 0.5s ease;
}
[data-motion="on"] .quiver[data-reveal="yes"][data-entered="yes"]{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  [data-motion="on"] .quiver[data-reveal="yes"]{opacity:1;transform:none;transition:none}
}

/* ---------------------------------------------------------------- footer -- */

.backstop{
  background:var(--range-deep);
  border-top:1px solid var(--rule);
  padding-top:3.4rem;padding-bottom:2.5rem;
}
.backstop-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);
  gap:2.6rem;
  padding-bottom:2.5rem;
  border-bottom:1px solid var(--rule);
}
.backstop-brand{min-width:0}
.backstop-mark{display:inline-flex;align-items:center;gap:0.75rem;margin-bottom:1.1rem}
.backstop-blurb{color:var(--ink-faint);font-size:0.86rem;max-width:38ch}
.backstop-title{
  font-family:var(--mono);
  font-size:0.67rem;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:1rem;
}
.backstop-col ul{list-style:none;margin:0;padding:0}
.backstop-col li{margin-bottom:0.55rem}
.backstop-col a{color:var(--ink-dim);border-bottom:0;font-size:0.87rem}
.backstop-col a:hover{color:var(--gold);border-bottom:0}
.backstop-legal{padding-top:1.9rem}
.backstop-legal p{color:var(--ink-faint);font-size:0.78rem;margin-bottom:0.45rem;line-height:1.65}
.backstop-legal a{color:var(--ink-dim)}

/* ----------------------------------------------------------- breakpoints -- */

@media (max-width: 64rem){
  .score-sheet{grid-template-columns:minmax(0,1fr);gap:2.2rem}
  .sight-marks{
    position:static;max-height:none;overflow:visible;
    border:1px solid var(--rule);padding:1.3rem 1.4rem;
  }
  .sight-marks-list{columns:2;column-gap:2rem}
  .boss-grid{grid-template-columns:minmax(0,1fr)}
}

@media (max-width: 52rem){
  .range-lane{padding-left:1.15rem;padding-right:1.15rem}
  [data-nav="ready"] .nock-nav{
    display:none;
    position:absolute;left:0;right:0;top:100%;
    background:var(--range-deep);
    border-bottom:1px solid var(--rule);
    padding:1rem 1.15rem 1.5rem;
  }
  [data-nav="ready"] .nock-nav[data-shown="yes"]{display:block}
  [data-nav="ready"] .nock-toggle{display:inline-flex}
  .nock-bar-row{position:relative}
  .nock-list{flex-direction:column;align-items:flex-start;gap:1rem}
  .nock-link{font-size:0.82rem}
  .target-face{padding-top:3.4rem}
  .quiver{padding-top:3rem;padding-bottom:3rem}
  .shaft-rail[data-rail="ledger"] .shaft{grid-template-columns:minmax(0,1fr);gap:0.3rem}
  .shaft-rail[data-rail="ledger"] .shaft-key{padding-top:0}
  .backstop-grid{grid-template-columns:minmax(0,1fr);gap:1.9rem}
  .sight-marks-list{columns:1}
  .quiver-title[data-role="clause"]{display:block}
}

@media (max-width: 34rem){
  .loose-band{flex-direction:column;align-items:stretch}
  .loose-act{justify-content:center}
  .sight-pin{flex:0 0 15.5rem}
  .boss-card-head{flex-direction:column;gap:0.6rem}
}
