
:root{
  --accent:#FF3F15;
  --accent-ring:#12101C;
  --reg-idx:96px;
  --reg-gap:24px;
  --reg-open:280ms;
}

.reg{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);counter-reset:reg}
.reg-e{position:relative;border-bottom:1px solid var(--line);counter-increment:reg;
  scroll-margin-top:96px}

.reg-h{display:grid;grid-template-columns:var(--reg-idx) minmax(0,1fr) auto;
  column-gap:var(--reg-gap);align-items:start;padding:22px 0;position:relative}
.reg-h>*{min-width:0}

.reg-h a:not(.btn){text-decoration:none}
.reg-h a:not(.btn):hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

.reg-n{display:block;font-family:SuisseMono,ui-monospace,monospace;font-size:var(--fs-label);
  letter-spacing:.11em;line-height:1.5;color:var(--fg2);font-variant-numeric:tabular-nums;
  white-space:nowrap;position:relative;padding-top:.32em}
.reg-n[data-n]::after{content:attr(data-n)}

.reg-n::before{content:"";position:absolute;left:-20px;top:calc(.32em + .5lh - 3px);
  width:6px;height:6px;background:var(--accent);box-shadow:0 0 0 1px var(--accent-ring);
  opacity:0;transform:scale(.34);
  transition:opacity 140ms var(--mo-ease-out,ease-out),transform 200ms var(--mo-ease-out,ease-out)}
.reg-e.is-current>.reg-h .reg-n::before,
.reg-e.is-current>.reg-h>.reg-n::before{opacity:1;transform:none}

.reg-x{appearance:none;-webkit-appearance:none;display:grid;place-items:center;
  width:44px;height:44px;margin:-10px -12px -10px 0;padding:0;border:0;border-radius:0;
  background:none;color:var(--fg2);cursor:pointer;position:relative;text-decoration:none;
  transition:background-color .16s linear,color .16s linear}
.reg-x:hover{background:var(--hover-bg);color:var(--fg)}
.reg-x:active{opacity:.66}
.reg-x:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}
.reg-x i{position:relative;display:block;width:13px;height:13px}
.reg-x i::before,.reg-x i::after{content:"";position:absolute;left:0;top:6px;width:13px;height:1px;
  background:currentColor;transition:transform 220ms var(--mo-ease-out,ease-out)}
.reg-x i::after{transform:rotate(90deg)}
.reg-x[aria-expanded="true"] i::after,.reg-x.is-up i::after{transform:rotate(0deg) scaleX(0)}

.reg-e.has-x>.reg-h{cursor:pointer}
.reg-e.has-x>.reg-h:hover{background:linear-gradient(var(--hover-bg),var(--hover-bg)) no-repeat;
  background-size:calc(100% + 24px) 100%;background-position:-12px 0}

.reg-p{display:grid;grid-template-rows:1fr;
  transition:grid-template-rows var(--reg-open) var(--mo-ease-out,ease-out)}
.reg-pi{min-height:0;overflow:hidden;transition:opacity 200ms linear 60ms}
.reg-e.is-closed>.reg-p{grid-template-rows:0fr}
.reg-e.is-closed>.reg-p>.reg-pi{opacity:0;transition:opacity 120ms linear}
.reg-p[hidden]:not([hidden="until-found"]){display:none}
.reg-pi>.reg-body{padding:0 0 30px calc(var(--reg-idx) + var(--reg-gap))}

.reg-pin{position:sticky;top:104px;max-height:calc(100vh - 150px);overflow-y:auto;
  overscroll-behavior:contain;scrollbar-width:thin;
  padding-left:24px;margin-left:-24px}
.reg-pin:focus-visible{outline:2px solid var(--fg);outline-offset:6px}
.reg-pin .reg{border-top:1px solid var(--line)}
.reg-pin .reg-e{border-bottom:1px solid var(--line)}
.reg-pin{max-width:400px;padding-bottom:28px;
  -webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent);mask-image:linear-gradient(#000 calc(100% - 28px),transparent)}
.reg-pin .reg-h{grid-template-columns:44px minmax(0,1fr) auto;column-gap:12px;padding:0;align-items:center;min-height:38px}
.reg-pin .reg-n{padding:0}
.reg-pin .reg-n::before{top:calc(.5lh - 3px)}
.reg-pin a.reg-l{display:block;padding:9px 0;font-size:15px;line-height:1.35;color:var(--fg2);
  text-decoration:none;transition:color .16s linear}
.reg-pin a.reg-l:hover{color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.reg-pin .reg-e.is-current>.reg-h a.reg-l{color:var(--fg)}
.reg-pin .reg-x{width:38px;height:38px;margin:0 -10px 0 0}
.reg-pin .reg-sub{list-style:none;margin:0;padding:0 0 10px 56px}
.reg-pin .reg-sub a{display:block;padding:5px 0;font-size:14px;line-height:1.35;color:var(--fg2);text-decoration:none}
.reg-pin .reg-sub a:hover{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.reg-pin .reg-sub a[aria-current]{color:var(--fg)}

.reg-bar{display:none}

.hang{position:relative}
.hang>.hang-n{position:absolute;right:100%;margin-right:var(--reg-gap);
  font-family:SuisseMono,ui-monospace,monospace;font-size:var(--fs-label);letter-spacing:.08em;
  font-weight:400;color:var(--fg2);white-space:nowrap;font-variant-numeric:tabular-nums;
  line-height:inherit;top:0}

@media (max-width:760px){
  :root{--reg-idx:52px;--reg-gap:14px}
  .reg-h{padding:18px 0;grid-template-columns:minmax(0,1fr) auto;row-gap:10px}
  .reg-h>:where(:not(.reg-n):not(.reg-x)){grid-column:1 / -1}
  .reg-h>.reg-x{grid-column:2;grid-row:1;margin:-14px -12px -14px 0}
  .reg-n{padding-left:14px;padding-top:0}
  .reg-n::before{left:0;top:calc(.5lh - 3px)}
  .reg-h>.reg-x{margin:-13px -12px -13px 0}
  .reg-pi>.reg-body{padding:0 0 24px 0}
}
@media (max-width:1120px){
  .hang>.hang-n{position:static;margin:0;color:var(--fg2)}
  .reg-pin{position:static;max-height:none;overflow:visible;padding-left:0;margin-left:0;-webkit-mask-image:none;mask-image:none;padding-bottom:0}
  .reg-pin .reg-h{row-gap:0}
  .reg-pin .reg-h>*,.reg-pin .reg-h>.reg-x{grid-column:auto;grid-row:auto}
  body.has-reg-bar .reg-pin{display:none}
  .reg-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:6;
    padding:0 var(--pad) env(safe-area-inset-bottom,0)}
  .reg-bar{transition:transform .24s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .reg-bar.is-away{transform:translateY(100%);visibility:hidden;transition:transform .2s ease-in,visibility 0s .2s}
  @media (prefers-reduced-motion:reduce){.reg-bar,.reg-bar.is-away{transition:none}}
  .reg-bar-in{background:var(--bar-bg,#F6F3EC);border:1px solid var(--line2);
    border-bottom:0;border-radius:0;position:relative;z-index:1}
  .reg-bar.is-open::before{content:"";position:fixed;inset:0;background:rgba(21,18,30,.32);z-index:0}
  .reg-bar.is-open .reg-bar-sheet{border-bottom:1px solid var(--line)}
  .reg-bar button.reg-bar-t{appearance:none;-webkit-appearance:none;display:grid;
    grid-template-columns:auto minmax(0,1fr) 44px;align-items:center;gap:12px;width:100%;
    min-height:52px;margin:0;padding:0 0 0 16px;border:0;background:none;color:var(--fg);
    font:inherit;text-align:left;cursor:pointer}
  .reg-bar .reg-bar-k{font-family:SuisseMono,ui-monospace,monospace;font-size:var(--fs-label);
    letter-spacing:.11em;text-transform:uppercase;color:var(--fg2)}
  .reg-bar .reg-bar-c{font-size:15px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-top:8px;padding-bottom:8px;
    position:relative;padding-left:14px}
  .reg-bar .reg-bar-c::before{content:"";position:absolute;left:0;top:calc(50% - 3px);width:6px;height:6px;
    background:var(--accent);box-shadow:0 0 0 1px var(--accent-ring)}
  .reg-bar .reg-bar-c:empty::before{display:none}
  .reg-bar .reg-x{margin:0}
  .reg-bar-sheet{max-height:min(62vh,520px);overflow-y:auto;overscroll-behavior:contain;
    border-top:1px solid var(--line);padding:4px 16px 12px}
  .reg-bar-sheet[hidden]{display:none}
  .reg-bar-sheet .reg{border-top:0}
  .reg-bar-sheet .reg-sub{display:none}
  .reg-bar-sheet .reg-h{grid-template-columns:44px minmax(0,1fr);padding:0;row-gap:0;column-gap:12px;align-items:center}
  .reg-bar-sheet .reg-h>*{grid-column:auto}
  .reg-bar-sheet .reg-n{padding:0}
  .reg-bar-sheet .reg-n::before{top:calc(.5lh - 3px);left:-14px}
  .reg-bar-sheet a.reg-l{display:block;padding:11px 0;font-size:15px;line-height:1.35;color:var(--fg2);text-decoration:none}
  .reg-bar-sheet a.reg-l[aria-current]{color:var(--fg)}
  .reg-bar.nums .reg-bar-in{display:flex;justify-content:space-between;padding:4px 8px}
  .reg-bar.nums a{display:grid;place-items:center;min-width:44px;min-height:44px;position:relative;
    font-family:SuisseMono,ui-monospace,monospace;font-size:var(--fs-label);letter-spacing:.08em;
    color:var(--fg2);text-decoration:none;font-variant-numeric:tabular-nums}
  .reg-bar.nums .reg-bar-in:has(>a:nth-child(9)){display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));justify-items:center}
  .reg-bar.nums a[aria-current]{color:var(--fg)}
  .reg-bar.nums a[aria-current]::before{content:"";position:absolute;top:calc(50% - 3px);left:0;
    width:6px;height:6px;background:var(--accent);box-shadow:0 0 0 1px var(--accent-ring)}
  body.has-reg-bar #colophon{padding-bottom:calc(9vh + 72px)}
  html:has(body.has-reg-bar){scroll-padding-bottom:84px}
  .reg-bar-q{background:var(--bar-bg,#F6F3EC);border:1px solid var(--line2);border-bottom:0;padding:10px 16px 0;
    font-size:14px;line-height:1.3;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}
  .reg-bar-q:empty{display:none}
  .reg-bar.nums .reg-bar-in{border-top:0}
  .hang{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.6em;align-items:baseline}
}

@media (prefers-reduced-motion:reduce){
  .reg-p,.reg-pi,.reg-x,.reg-x i::before,.reg-x i::after,.reg-n::before{transition:none !important}
}
@media print{
  .reg-x,.reg-bar{display:none !important}
  .reg-p[hidden]{display:grid !important;content-visibility:visible !important}
  .reg-e.is-closed>.reg-p{grid-template-rows:1fr}
  .reg-e.is-closed>.reg-p>.reg-pi{opacity:1}
}
