

.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s2);
  height: var(--h); padding: 0 var(--s3); border-radius: var(--r); color: var(--ink);
  font-size: var(--t-md); font-weight: 500; white-space: nowrap;
  background: var(--surf); box-shadow: inset 0 0 0 1px var(--edge); }
.btn:hover { background: var(--hi); }
.btn:disabled { opacity: .4; cursor: not-allowed; }
.btn .i { width: 16px; height: 16px; }
.btn.pri { background: var(--pri-bg); color: var(--pri-on); box-shadow: none; }
.btn.pri:hover { background: var(--pri-hover); }
.btn.pri:disabled { background: var(--hi); color: var(--ink-3); }

.btn.pri:disabled.busy { background: var(--pri-bg); color: var(--pri-on); opacity: .72;
  cursor: progress; }
.btn.sm { height: var(--h-sm); padding: 0 var(--s2); font-size: var(--t-sm); }
.btn.bare { background: none; box-shadow: none; color: var(--ink-2); }
.btn.bare:hover { background: var(--hi); color: var(--ink); }
.btn.danger:hover { color: var(--stop); }
.btn.stop { background: var(--stop-fill); color: var(--stop-on); box-shadow: none; }
.btn.stop:hover { background: var(--stop-fill); color: var(--ink); }
a.btn, .auth a.btn { text-decoration: none; }
.acts { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s3); }
.acts .hint { margin: 0; }

.acts > input[type], .acts > input:not([type]) { flex: 1 1 auto; width: auto; min-width: 0; }
.lnk { color: var(--act); text-decoration: underline; text-underline-offset: 2px; }
.trow .m button.btn.bare, .fpin .fm { color: var(--act); text-decoration: underline;
  text-underline-offset: 2px; }
.tgl { display: inline-flex; align-items: center; gap: var(--s2); height: var(--h);
  padding: 0 var(--s3); border-radius: var(--r); font-size: var(--t-md); color: var(--ink-2);
  white-space: nowrap; flex: 0 0 auto; box-shadow: inset 0 0 0 1px var(--line-2); }
.tgl:hover { color: var(--ink); background: var(--hi); }
.tgl.on { color: var(--ink); background: var(--hi); }
.state { flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--s2);
  height: var(--h); padding: 0 var(--s3); border-radius: var(--r); font-size: var(--t-md);
  color: var(--ink-2); white-space: nowrap; box-shadow: inset 0 0 0 1px var(--line-2); }
.state:hover { background: var(--hi); color: var(--ink); }
.state .sd { width: var(--s2); height: var(--s2); flex: 0 0 auto; background: var(--ink-3); }
.state.open .sd { background: var(--ink); }
.backbtn { display: inline-flex; align-items: center; gap: var(--s1); height: var(--h);
  padding: 0 var(--s3) 0 var(--s2); border-radius: var(--r); font-size: var(--t-md);
  color: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line-2); }
.backbtn:hover { background: var(--hi); color: var(--ink); }

.pill, .chip, .pr { display: inline-flex; align-items: center; gap: var(--s2);
  height: var(--h-sm); padding: 0 var(--s2); border-radius: var(--r-pill);
  background: var(--surf-2); box-shadow: inset 0 0 0 1px var(--edge);
  font-size: var(--t-sm); line-height: var(--l-sm); color: var(--ink-2); white-space: nowrap; }
.pill::before { content: ''; width: var(--s2); height: var(--s2); flex: 0 0 auto;
  box-shadow: inset 0 0 0 1px var(--ink-3); }
.pill.done, .chip.ok { background: var(--ok-fill); box-shadow: inset 0 0 0 1px var(--ok-edge);
  color: var(--ok-on); }
.pill.done::before { background: var(--ok); box-shadow: none; }
.pill.wait { color: var(--ink); }
.pill.wait::before { background: linear-gradient(90deg, var(--ink-2) 50%, transparent 50%);
  box-shadow: inset 0 0 0 1px var(--ink-2); }
.pill.stop, .chip.bad { background: var(--stop-fill); box-shadow: inset 0 0 0 1px var(--stop-edge);
  color: var(--stop-on); }
.pill.stop::before { background: var(--stop); box-shadow: none; }
.pill.act, .chip.act { background: var(--act-fill); box-shadow: none; color: var(--act-on); }

.pill.act::before { background: var(--act-on); box-shadow: none; }
.chip.wait { color: var(--ink); }
p > .chip:first-child { margin-right: var(--s2); }

.pr.high { color: var(--ink); }
.pr.urgent { background: var(--stop-fill); box-shadow: inset 0 0 0 1px var(--stop-edge);
  color: var(--stop-on); }
.av { width: var(--h-sm); height: var(--h-sm); border-radius: var(--r); flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center; font-family: var(--fm);
  font-size: var(--t-sm); font-weight: 500; background: var(--hi); color: var(--ink-2); }
.av.you { color: var(--ink); }
.av.cust { background: none; box-shadow: inset 0 0 0 1px var(--line-2); color: var(--ink-3); }
.av.big { width: var(--h); height: var(--h); }
.id { font-family: var(--fm); font-size: var(--t-sm); color: var(--ink-3); }

.pill::before, .nd, .ld, .wdot, .mdot, .state .sd, .mock-dots i { border-radius: var(--r-pill); }

textarea, input[type=text], input[type=email], input[type=password], input[type=number],
input[type=search], input:not([type]) { width: 100%;
  padding: var(--s2); border: 1px solid var(--line-2); border-radius: var(--r);
  background: var(--bg-2); font-size: var(--t-md); line-height: var(--l-md); color: var(--ink);
  resize: vertical; user-select: text; }
input[type=text], input[type=email], input[type=password], input[type=number],
input[type=search], input:not([type]) { height: var(--h); padding: 0 var(--s2); }
textarea::placeholder, input::placeholder { color: var(--ink-3); }

input:focus, textarea:focus, select:focus { outline: none;
  border-color: var(--act); box-shadow: 0 0 0 3px var(--act-soft); }
select { height: var(--h); padding: 0 var(--s5) 0 var(--s2); border: 1px solid var(--line-2);
  border-radius: var(--r); background-color: var(--bg-2); font-size: var(--t-md); color: var(--ink);
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236f6f76' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6.5 8 10l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 8px center; }
select:hover { background-color: var(--hi); }

select.sm { height: var(--h-sm); font-size: var(--t-sm); }
.fld { margin-bottom: var(--s3); }
.fld label { display: block; margin-bottom: var(--s2); font-size: var(--t-sm);
  line-height: var(--l-sm); color: var(--ink-2); }
.fld .hint, .hint { margin: var(--s2) 0 0; font-size: var(--t-sm); line-height: var(--l-sm);
  color: var(--ink-3); }
.fld.tall { margin-top: var(--s3); }

.filterbar { display: flex; align-items: center; gap: var(--s3); margin: 0 0 var(--s3); }
.filters { display: inline-flex; align-items: center; gap: var(--s5); }
.seg { display: flex; align-items: center; gap: var(--s2); height: var(--h-bar); padding: 0;
  font-size: var(--t-md); color: var(--ink-2); white-space: nowrap; }
.seg:hover { color: var(--ink); }

.seg .cnt { display: inline-flex; align-items: center; justify-content: center;
  min-width: var(--h-xs); height: var(--h-xs); padding: 0 var(--s2);
  border-radius: var(--r-pill);
  background: var(--surf-2); box-shadow: inset 0 0 0 1px var(--edge);
  font-family: var(--fm); font-size: var(--t-sm); line-height: 1; color: var(--ink-2);
  font-variant-numeric: tabular-nums; }
.seg.on .cnt { color: var(--ink); }
.seg.on { color: var(--ink); font-weight: 500; box-shadow: inset 0 -2px 0 var(--ink); }
#repofind, #modelfind { max-width: 420px; }
#paircode { width: 9ch; font-family: var(--fm); letter-spacing: .08em; text-transform: uppercase; }

.addrow { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s2); }
.addrow > .fld { margin-bottom: 0; }
.addrow input { flex: 1 1 180px; min-width: 0; }
.addrow select { flex: 0 0 auto; }
.addrow + .ranks, form + .ranks { margin-top: var(--s4); }

.panel { background: var(--surf); border: 1px solid var(--edge);
  border-radius: var(--r-panel); box-shadow: var(--lift); overflow: hidden; }
:is(.panel, .drow) + :is(.panel, .drow) { margin-top: var(--s4); }
.phdr { display: flex; align-items: center; gap: var(--s2); min-height: var(--h-bar);
  padding: var(--s2) var(--s4); border-bottom: 1px solid var(--line); }
.phdr > h3 { margin: 0; }
.phdr .cnt { font-family: var(--fm); font-size: var(--t-lab); color: var(--ink-2);
  background: var(--surf-2); border-radius: var(--r-pill); padding: var(--s1) var(--s2); }
.phdr .right { margin-left: auto; display: flex; align-items: center; gap: var(--s2); }
.panelb { padding: var(--s4); }
.panelb > .tbl:only-child { margin: calc(-1 * var(--s4)); width: auto; }
.panelf { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s4);
  min-height: var(--h-bar); padding: var(--s2) var(--s4);
  border-top: 1px solid var(--line); background: var(--surf-2); }

.panelf > .dimr { flex: 1 1 24ch; min-width: 0; margin: 0; }
.panelf > .btn { margin-left: auto; }
.panel > h3, .phdr > h3, .ohead, .card.chart h3, .steptitle, .es h3 {
  font-size: var(--t-lg); line-height: var(--l-lg); font-weight: 500; color: var(--ink); }
.panel > h3, .ohead { margin: 0 0 var(--s3); }
.phdr > h3, .phdr > .ohead { margin: 0; }
.ohead { display: flex; align-items: center; gap: var(--s2); }
.ohead .cnt { font-family: var(--fm); font-size: var(--t-sm); font-weight: 400; color: var(--ink-3); }
.pane p { margin: var(--s2) 0 0; }
.pane p:first-child { margin-top: 0; }

.card { margin: 0 0 var(--s4); padding: 0 0 var(--s4); border-bottom: 1px solid var(--line); }
.card:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.card p { margin: 0 0 var(--s2); }
.card p:last-child { margin-bottom: 0; }
.card p.lead { font-size: var(--t-lg); line-height: var(--l-lg); color: var(--ink); }
.card.mt, .chd.mt { margin-top: var(--s3); }
.card.ask { min-width: 0; }
details.card > summary.disclose { margin: 0; }
.chd { display: flex; align-items: center; gap: var(--s2); }
.chd > h3 { margin: 0; font-size: var(--t-md); font-weight: 500; }

.pay { padding: var(--s4); border-radius: var(--r-panel);
  background: var(--surf); box-shadow: inset 0 0 0 1px var(--edge); }
.hnote { margin: 0 0 var(--s2); font-size: var(--t-sm); line-height: var(--l-sm); color: var(--ink-3); }
.hfoot { margin: var(--s3) 0 0; font-size: var(--t-sm); line-height: var(--l-sm); color: var(--ink-3); }
.big2 { margin-bottom: var(--s2); font-size: var(--t-lg); line-height: var(--l-lg); color: var(--ink); }

.warn { margin-top: var(--s3); color: var(--ink-2); }

.warnbox { max-width: var(--measure); margin: var(--s3) 0 var(--s1); font-size: var(--t-md);
  line-height: var(--l-md); color: var(--ink-2); }
.warnbox b { color: var(--ink); }
.offer { display: flex; align-items: flex-start; gap: var(--s3); }
.offer .ot { min-width: 0; flex: 1 1 auto; }
.fold { margin-top: var(--s3); }
summary.disclose { cursor: pointer; list-style: none; font-size: var(--t-md); color: var(--ink-3); }
summary.disclose:hover { color: var(--ink-2); }
summary.disclose::-webkit-details-marker { display: none; }
summary.disclose::before { content: '›'; margin-right: var(--s2); }
details[open] > summary.disclose::before { content: '⌄'; }
pre.facts { max-height: 300px; overflow: auto; margin: var(--s2) 0 0; padding: var(--s2) var(--s3);
  border-radius: var(--r); background: var(--bg-2); font-family: var(--fm); font-size: var(--t-sm);
  line-height: var(--l-sm); white-space: pre-wrap; color: var(--ink-2); user-select: text; }
.cmdlabel { margin: var(--s3) 0 var(--s2); }
.cmdlabel + pre.facts { margin-top: 0; }
.phrase, .bigcode { border-radius: var(--r); background: var(--bg-2);
  box-shadow: inset 0 0 0 1px var(--line-2); }
.phrase { margin: var(--s2) 0 var(--s1); padding: var(--s3); text-align: center;
  font-size: var(--t-xl); line-height: var(--l-xl); letter-spacing: .08em; color: var(--ink);
  user-select: all; }
.bigcode { margin: var(--s3) 0 var(--s2); padding: var(--s4) var(--s3); text-align: center;
  font-family: var(--fm); font-size: var(--t-xl); line-height: var(--l-xl); letter-spacing: .16em;
  color: var(--ink); user-select: all; }
.orline { margin: var(--s3) 0; text-align: center; font-size: var(--t-sm); color: var(--ink-3); }

.kv { display: grid; gap: var(--s2); margin-bottom: var(--s3); }
.kvr { display: grid; grid-template-columns: var(--label) minmax(0, 1fr); gap: var(--s3);
  align-items: baseline; }
.kvv { color: var(--ink); }
.kvl { display: grid; grid-template-columns: minmax(var(--label-lg), auto) 1fr; gap: var(--s2) var(--s4); }
.kvl dt { color: var(--ink-3); }
.kvl dd { color: var(--ink); }
.kvl.mono dd { font-family: var(--fm); font-size: var(--t-sm); color: var(--ink-2); }
.ranks { display: grid; grid-template-columns: var(--label) minmax(0, 1fr); }
.ranks dt, .ranks dd { padding: var(--s2) 0; border-top: 1px solid var(--line); }
.ranks dt { padding-right: var(--s3); color: var(--ink); }
.ranks dd { color: var(--ink-3); }
.ranks > dt:first-child, .ranks > dt:first-child + dd { border-top: 0; }
.about { display: flex; flex-direction: column; }
.rlab { display: flex; align-items: baseline; gap: var(--s2); margin-bottom: var(--s2); color: var(--ink); }
.rlab .ok { color: var(--ink-2); }
.rlab .no { color: var(--ink-3); }
.repo { margin-bottom: var(--s3); }
.repo:last-child { margin-bottom: 0; }

.tbl { --cols: minmax(0, 1fr); }
.thead, .trow { display: grid; grid-template-columns: var(--cols); column-gap: var(--s3);
  align-items: center; }
.thead { height: var(--h); padding: 0 var(--s4); background: var(--surf-2);
  border-bottom: 1px solid var(--line); }
.thead > * { grid-row: 1; }
.thead > *:not(:first-child), .trow > *:not(:first-child) { justify-self: start; }
.thead > *:last-child, .trow > *:last-child { justify-self: end; }
.tgroup { padding: var(--s4) var(--s4) var(--s2); color: var(--ink-2); }
.trow { position: relative; width: 100%; min-height: var(--h-bar);
  padding: var(--s2) var(--s4); border-top: 1px solid var(--line); text-align: left;
  color: inherit; }

button.trow:hover, button.trow:focus-visible { background: var(--hi);
  box-shadow: 0 1px 0 var(--line); }
button.trow:focus-visible { outline-offset: -2px; }
.thead + .trow, .tgroup + .trow { border-top: 0; }
.trow.newrow { border-top: 1px dashed var(--line-2); cursor: pointer; }
button.trow { border-radius: 0; }
button.trow:hover .subj { text-decoration: underline; text-underline-offset: 2px; }
.trow .t { grid-row: 1; grid-column: 1; display: flex; flex-direction: column; gap: var(--s1);
  min-width: 0; color: var(--ink); }
.trow .subj { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }
.trow .subj.un { font-weight: 500; }

.trow .nd { position: absolute; left: var(--s2); width: var(--s2); height: var(--s2);
  top: calc(var(--s2) + (var(--l-md) - var(--s2)) / 2); background: var(--act); }
.trow .m { grid-row: 2; grid-column: 1; display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--s1) var(--s2); min-width: 0; font-size: var(--t-sm); line-height: var(--l-sm);
  color: var(--ink-3); }
.trow .m > .trunc { min-width: 0; }

.trow > *:not(.t):not(.m) { grid-row: 1 / span 2; align-self: start;
  min-height: var(--l-md); display: flex; align-items: center; }
.trow .num { font-family: var(--fm); font-size: var(--t-sm); color: var(--ink-2);
  font-variant-numeric: tabular-nums; }
.trow .found { display: flex; align-items: baseline; gap: var(--s2); min-width: 0;
  font-size: var(--t-sm); line-height: var(--l-sm); color: var(--ink-3); }
.trow .found .cz, .trow .found.dim { flex: 1 1 auto; min-width: 0; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
.sus { flex: none; font-family: var(--fm); font-size: var(--t-sm); color: var(--ink-2); white-space: nowrap; }
.trow.off { opacity: .5; }
.newrow .t { flex-direction: row; align-items: center; gap: var(--s2); grid-column: 1 / -1;
  justify-self: start; color: var(--ink-2); }
.newrow .in { flex: 0 1 260px; }
.newrow:hover .t { color: var(--ink); }
.newrow.open { cursor: default; }
.tbl.problems { --cols: minmax(0, 1fr) var(--label-lg) 72px var(--label) 56px; }
.tbl.problems.nopri { --cols: minmax(0, 1fr) var(--label-lg) var(--label) 56px; }

.tbl.problems.nostat { --cols: minmax(0, 1fr) var(--label-lg) 72px 56px; }
.tbl.problems.nopri.nostat { --cols: minmax(0, 1fr) var(--label-lg) 56px; }
.tbl.problems .trow .m { grid-row: 1 / span 2; grid-column: 2; align-self: start;
  justify-self: stretch; display: block; font-size: var(--t-md); line-height: var(--l-md);
  color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tbl.faults { --cols: minmax(0, 1fr) var(--label) var(--label) var(--label-lg); }
.tbl.faults.norec { --cols: minmax(0, 1fr) var(--label) var(--label-lg); }
.tbl.computers { --cols: minmax(0, 1fr) var(--label) 96px; }
.tbl.keys { --cols: minmax(0, 1fr) 96px 96px; }

.tbl.people { --cols: minmax(0, 1fr); }
.tbl.people .trow { min-height: 56px; }
.who { display: flex; align-items: center; gap: var(--s3); min-width: 0; }
.whon { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--s2); min-width: 0; }
.whon .subj { flex: 0 1 auto; }

.whoe { flex: 1 0 100%; min-width: 0; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; font-size: var(--t-sm); line-height: var(--l-sm); color: var(--ink-3); }
.tbl.people .t { flex-direction: row; align-items: center; gap: var(--s2); }

.tbl.people .trow > .t { justify-self: stretch; }
.tbl.products { --cols: minmax(0, 1fr) var(--label) 72px 88px; }
.tbl.products .pstate { grid-column: 2; justify-self: start; }
.tbl.products .pcause { grid-column: 3; }
.tbl.products .pver { grid-column: 4; justify-self: end; }
.tbl.queue { --cols: minmax(0, 1fr); }

.tbl.queue .trow > .m { justify-self: start; }
.panel > .tbl + form, .panel > .tbl + .addrow { margin-top: var(--s4); }
.ptable { display: grid; }
.rrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: var(--s3); padding: var(--s2) 0; border-top: 1px solid var(--line); }
.rrow.go { width: 100%; text-align: left; color: inherit; }
.rrow.go:hover .rnm b { text-decoration: underline; }
.rrow.off { opacity: .5; }
.rnm { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s2); min-width: 0; }
.rnm b { font-weight: 500; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rnm .ok { font-size: var(--t-sm); color: var(--ink-2); }
.rnm .no { font-size: var(--t-sm); color: var(--ink-3); }
.rsub { flex-basis: 100%; font-size: var(--t-sm); line-height: var(--l-sm); color: var(--ink-3); }
.racts { display: flex; align-items: center; gap: var(--s2); justify-self: end; }
.cacts { display: flex; justify-content: flex-end; gap: var(--s1); }
.cnum { display: flex; align-items: center; gap: var(--s2); width: 100%; min-width: 0; }
.cnum b { min-width: 2ch; text-align: right; font-family: var(--fm); font-weight: 500;
  font-variant-numeric: tabular-nums; }
.cbar { flex: 1 1 auto; min-width: 0; height: var(--s1); overflow: hidden; background: var(--line-2); }
.cbar > span { display: block; height: 100%; background: var(--data); }
.cbar > span.best { background: var(--ink-2); }

.main > .empty, .page .empty { display: flex; flex-direction: column; align-items: flex-start;
  gap: var(--s2); }
.main > .empty { padding: var(--s6) var(--s5); }
.page .empty { padding-top: var(--s4); }

.es { max-width: 640px; margin: var(--s4) 0 0; padding: var(--s5);
  display: flex; flex-direction: column; align-items: flex-start; text-align: left;
  background: var(--surf); border: 1px solid var(--edge); border-radius: var(--r-panel);
  box-shadow: var(--lift); }

.es h3 { margin-bottom: var(--s2); }
.es > p { max-width: 46ch; }

.es .mock { background: var(--surf-2); border-color: var(--line); box-shadow: none; }
.es .mock-bar { background: none; }

.esact { margin-top: var(--s4); }
.panelart { margin: var(--s3) 0; }
.latest { max-width: none; }

.mock { width: 100%; overflow: hidden; border-radius: var(--r-panel);
  background: var(--surf); border: 1px solid var(--edge); box-shadow: var(--lift); }
.mock-bar { display: flex; align-items: center; gap: var(--s2); height: var(--h-bar);
  padding: 0 var(--s4); background: var(--surf-2); border-bottom: 1px solid var(--line); }
.mock-dots { display: flex; gap: var(--s1); }
.mock-dots i { width: var(--s2); height: var(--s2); background: var(--line-3); }
.mock-title { font-family: var(--fm); font-size: var(--t-sm); color: var(--ink-2); }

.mock-body { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s4);
  font-family: var(--fm); font-size: var(--t-sm); line-height: var(--l-md);
  color: var(--ink-2); }
.mrow { display: flex; gap: var(--s3); }
.mk { flex: 0 0 auto; width: 11ch; color: var(--ink-3); }
.mv { min-width: 0; color: var(--ink-2); }
.mv.ok { color: var(--ink); }
.mwait { display: flex; align-items: center; gap: var(--s2); margin-top: var(--s2);
  padding-top: var(--s2); border-top: 1px solid var(--line); color: var(--ink-3); }
.mdot { width: var(--s2); height: var(--s2); background: var(--ink-2); }
.mrun { display: flex; align-items: center; gap: var(--s2); padding-bottom: var(--s1);
  color: var(--ink); }
.mrun b { font-weight: 500; }
.mdur { margin-left: auto; color: var(--ink-3); }
.mstep { display: flex; align-items: center; gap: var(--s2); padding-left: var(--s4);
  color: var(--ink-2); }
.mtick { display: inline-flex; align-items: center; color: var(--ok); }
.mrun .mtick { color: var(--ok); }
.mfind { padding-top: var(--s2); }
.mfind:first-child { padding-top: 0; }
.mfk { display: inline-block; margin-bottom: var(--s1); color: var(--ink-2); }
.mfind p { font-family: var(--fn); font-size: var(--t-md); line-height: var(--l-md); color: var(--ink-2); }
.mfind b { font-weight: 500; color: var(--ink); }
.src { padding-bottom: 30vh; font-family: var(--fm); line-height: 1.6; tab-size: 2; user-select: text; }
.src.inline, .src.inline .src { padding-bottom: 0; overflow-x: auto; }
.src.inline td.n { position: static; background: none; }
.src table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.src col.gutter { width: 5.5ch; }
.src, .src table, .src td { font-size: var(--code-size); }
.src td.n { position: sticky; left: 0; padding: 0 var(--s2); vertical-align: top; text-align: right;
  white-space: nowrap; color: var(--g-ink-3); background: var(--glass); user-select: none;
  font-variant-numeric: tabular-nums; }
.src td.l { padding: 0 var(--s3) 0 var(--s2); vertical-align: top; white-space: pre;
  overflow-wrap: normal; color: var(--g-ink); }
body.wrapcode .src td.l { white-space: pre-wrap; overflow-wrap: anywhere; }
.src tr { content-visibility: auto; contain-intrinsic-size: auto 1.6em; }
.src tr.hit td.n { color: var(--g-ink); background: var(--glass-3); }
.src tr.hit td.l { background: var(--glass-3); }
.tc { color: var(--g-ink-3); font-style: italic; }
.tk { color: var(--syn-key); }
.ts { color: var(--syn-str); }
.tn { color: var(--syn-num); }
.tf { color: var(--syn-fn); }
.tb, .tt { color: var(--syn-typ); }
.ta { color: var(--syn-att); }
.tv, .tp, .to { color: var(--g-ink); }
.dfile { border-bottom: 1px solid var(--glass-ln); }
.dh { display: flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s3);
  font-size: var(--t-sm); background: var(--glass-2); }
.dh .p { min-width: 0; font-family: var(--fm); color: var(--g-ink); overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
.dh .a { font-family: var(--fm); color: var(--add); }
.dh .d { font-family: var(--fm); color: var(--del); }
.dlines { font-family: var(--fm); line-height: 1.6; user-select: text; }
.dlines table { width: 100%; border-collapse: collapse; }
.dlines, .dlines table, .dlines td { font-size: var(--code-size); }
.dlines td.n { width: 1%; padding: 0 var(--s2); vertical-align: top; text-align: right;
  color: var(--g-ink-3); user-select: none; font-variant-numeric: tabular-nums; }
.dlines td.l { padding: 0 var(--s3) 0 var(--s1); vertical-align: top; white-space: pre-wrap;
  overflow-wrap: anywhere; color: var(--g-ink-2); }
.dlines tr.add td.l { background: color-mix(in oklab, var(--add) 14%, transparent); color: var(--add); }
.dlines tr.del td.l { background: color-mix(in oklab, var(--del) 14%, transparent); color: var(--del); }
.dlines tr.hunk td { padding: var(--s2) var(--s3); color: var(--g-ink-3); background: var(--glass-2); }
.mini { margin-top: var(--s2); overflow: hidden; border-radius: var(--r); font-family: var(--fm);
  font-size: var(--t-sm); line-height: var(--l-sm); user-select: text; }
.mini .l { padding: 0 var(--s2); white-space: pre-wrap; overflow-wrap: anywhere; color: var(--g-ink-2); }
.mini .l.add { background: color-mix(in oklab, var(--add) 14%, transparent); color: var(--add); }
.mini .l.del { background: color-mix(in oklab, var(--del) 14%, transparent); color: var(--del); }
.mini .l.more { background: none; color: var(--g-ink-3); }

.w0{width:0%}
.w1{width:1%}
.w2{width:2%}
.w3{width:3%}
.w4{width:4%}
.w5{width:5%}
.w6{width:6%}
.w7{width:7%}
.w8{width:8%}
.w9{width:9%}
.w10{width:10%}
.w11{width:11%}
.w12{width:12%}
.w13{width:13%}
.w14{width:14%}
.w15{width:15%}
.w16{width:16%}
.w17{width:17%}
.w18{width:18%}
.w19{width:19%}
.w20{width:20%}
.w21{width:21%}
.w22{width:22%}
.w23{width:23%}
.w24{width:24%}
.w25{width:25%}
.w26{width:26%}
.w27{width:27%}
.w28{width:28%}
.w29{width:29%}
.w30{width:30%}
.w31{width:31%}
.w32{width:32%}
.w33{width:33%}
.w34{width:34%}
.w35{width:35%}
.w36{width:36%}
.w37{width:37%}
.w38{width:38%}
.w39{width:39%}
.w40{width:40%}
.w41{width:41%}
.w42{width:42%}
.w43{width:43%}
.w44{width:44%}
.w45{width:45%}
.w46{width:46%}
.w47{width:47%}
.w48{width:48%}
.w49{width:49%}
.w50{width:50%}
.w51{width:51%}
.w52{width:52%}
.w53{width:53%}
.w54{width:54%}
.w55{width:55%}
.w56{width:56%}
.w57{width:57%}
.w58{width:58%}
.w59{width:59%}
.w60{width:60%}
.w61{width:61%}
.w62{width:62%}
.w63{width:63%}
.w64{width:64%}
.w65{width:65%}
.w66{width:66%}
.w67{width:67%}
.w68{width:68%}
.w69{width:69%}
.w70{width:70%}
.w71{width:71%}
.w72{width:72%}
.w73{width:73%}
.w74{width:74%}
.w75{width:75%}
.w76{width:76%}
.w77{width:77%}
.w78{width:78%}
.w79{width:79%}
.w80{width:80%}
.w81{width:81%}
.w82{width:82%}
.w83{width:83%}
.w84{width:84%}
.w85{width:85%}
.w86{width:86%}
.w87{width:87%}
.w88{width:88%}
.w89{width:89%}
.w90{width:90%}
.w91{width:91%}
.w92{width:92%}
.w93{width:93%}
.w94{width:94%}
.w95{width:95%}
.w96{width:96%}
.w97{width:97%}
.w98{width:98%}
.w99{width:99%}
.w100{width:100%}

.drow { display: flex; flex-direction: column; padding: var(--s4);
  background: var(--surf); border: 1px solid var(--edge); border-radius: var(--r-panel);
  box-shadow: var(--lift); }
.card.chart { margin: 0; padding: 0; border: 0; }
.card.chart + .card.chart { margin-top: var(--s4); padding-top: var(--s4); border-top: 1px solid var(--line); }
.chh { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s3); min-width: 0;
  margin-bottom: var(--s3); }
.card.chart h3 { margin: 0; }
.chn { margin-left: auto; font-size: var(--t-sm); color: var(--ink-3); white-space: nowrap; }
.cv { display: block; width: 100%; height: 24px; overflow: visible; }
.cv.tall { height: auto; }
.cv .ax, .cv .vl { font-family: var(--fm); font-size: var(--t-sm); font-variant-numeric: tabular-nums; }
.cv .ax { fill: var(--ink-3); }
.cv .vl { fill: var(--ink-2); }
.cv .gl { stroke: var(--line); stroke-width: 1; }
.cv .gl.base { stroke: var(--line-2); }
.cv .b { fill: var(--data); }
.cv .b.hi { fill: var(--ink-2); }
.cv .b.z { fill: var(--line-2); }
.arc { display: block; width: 100%; max-width: 150px; height: auto; margin: 0 0 var(--s2); }
.arc .trk, .arc .fil { fill: none; stroke-width: 6; }
.arc .trk { stroke: var(--line-2); }
.arc .fil { stroke: var(--data); }
.arc .pin { fill: var(--ink-2); }
.comb { display: flex; align-items: flex-end; gap: var(--s1); height: 24px; margin-top: var(--s3); }
.comb i { flex: 1 1 0; min-width: 0; height: 100%; background: var(--line-2); }
.comb i.on { background: var(--data); }
.funnel { display: flex; flex-direction: column; gap: var(--s2); }
.fn { display: grid; grid-template-columns: var(--label) minmax(0, 560px) var(--s6);
  align-items: center; gap: var(--s3); }
.fl { min-width: 0; font-size: var(--t-md); color: var(--ink-2); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
.ft { height: var(--s1); overflow: hidden; background: var(--line); }
.ft span { display: block; height: 100%; background: var(--data); }
.fv { text-align: right; font-family: var(--fm); font-size: var(--t-sm); color: var(--ink);
  font-variant-numeric: tabular-nums; }
.steprow { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); }
.stepn { display: flex; flex-direction: column; gap: var(--s1); min-width: 0; }
.stepv { font-family: var(--fm); font-size: var(--t-xl); line-height: var(--l-xl); color: var(--ink);
  font-variant-numeric: tabular-nums; }
.stepl { font-size: var(--t-sm); line-height: var(--l-sm); color: var(--ink-3); white-space: nowrap; }
.stepn.none .stepv { color: var(--ink-3); }
