:root{
  --danger-text:#b42318;
  --article-max:600px;
  --blue:#1a2b4a;
  --danger-bg:#fbe6e4;
  --shadow:0 14px 44px #1a2b4a1f;
}
/* Scoped to the content: the masthead and side nav keep bold.css's type. */
main{font-family:var(--sans); font-size:15.5px; line-height:1.55;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
h1{font-family:var(--serif); color:var(--ink); font-weight:800; letter-spacing:-0.005em; margin:0;}
.hero{max-width:var(--content-max); margin:0 auto; padding:56px var(--gutter) 10px;}
.back-link{font-family:var(--sans); font-size:13px; color:var(--muted); text-decoration:none; display:inline-block; margin-bottom:18px;}
.back-link:hover{color:var(--accent);}
.hero h1{font-size:clamp(27px, 4.4vw, 38px); line-height:1.15; overflow-wrap:break-word; max-width:var(--article-max); text-wrap:balance;}
main{max-width:var(--content-max); margin:0 auto; padding:24px var(--gutter) 48px;}
main > *{max-width:var(--article-max);}
/* ---------- form ---------- */
/* The fields as on a card's page in the board (audit-board.css): 13px muted
   label above a boxed input, 560px column, 16px between fields. */
main > form{max-width:560px;}
.field{margin-bottom:16px;}
.field label{display:block; font-family:var(--sans); font-size:13px; color:var(--muted); margin-bottom:5px;}
.field input, .field select, .field textarea{
  width:100%; font-family:var(--sans); font-size:14px; color:var(--ink);
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:8px 10px;
}
.field select{min-width:180px;}
.field textarea{min-height:64px; resize:vertical;}
.field-hint{font-family:var(--sans); font-size:12px; color:var(--muted); margin-top:4px;}
.field-error{
  font-family:var(--sans); font-size:12.5px; color:var(--danger-text);
  background:var(--danger-bg); border:1px solid var(--danger-text);
  border-radius:var(--radius); padding:8px 12px; margin-top:12px;
}
.field-error[hidden]{display:none;}
.field-hint b{font-weight:600; color:var(--ink-soft);}
.channel-status{list-style:none; margin:8px 0 0; padding:0; font-family:var(--sans); font-size:12.5px; line-height:1.45;}
.channel-status:empty{display:none;}
.channel-status li{position:relative; padding-left:16px; margin-top:3px; color:var(--ink-soft);}
.channel-status li::before{content:'\2022'; position:absolute; left:4px; color:var(--muted);}
.channel-status li.ok::before{content:'\2713'; left:0; color:#256b60;}
.channel-status li.new::before{content:'+'; left:2px; font-weight:700; color:var(--accent);}
.channel-status li.warn{color:var(--danger-text);}
.channel-status li.pending{color:var(--muted);}
/* ---------- keywords ---------- */
.kw-entry{position:relative; display:flex; gap:8px;}
.kw-entry input{flex:1; width:auto;}
.kw-add{padding:8px 14px; font-size:16px; line-height:1;}
.kw-suggest{
  position:absolute; top:100%; left:0; right:0; z-index:5; margin:2px 0 0; padding:4px 0; list-style:none;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  max-height:220px; overflow-y:auto;
}
.kw-suggest[hidden]{display:none;}
.kw-suggest li{display:flex; justify-content:space-between; gap:12px; padding:6px 10px; font-family:var(--sans); font-size:14px; color:var(--ink); cursor:pointer;}
.kw-suggest li.active, .kw-suggest li:hover{background:var(--wash);}
.kw-suggest .n{color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums;}
.kw-list{list-style:none; margin:8px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px;}
.kw-list:empty{display:none;}
.kw-chip{
  display:inline-flex; align-items:center; gap:6px; font-family:var(--sans); font-size:13px; color:var(--ink);
  background:var(--wash); border-radius:12px; padding:2px 6px 2px 10px;
}
.kw-chip button{border:none; background:none; padding:0 2px; font-size:15px; line-height:1; color:var(--muted); cursor:pointer;}
.kw-chip button:hover{color:var(--danger-text);}
.form-actions{display:flex; gap:10px; align-items:center; margin-top:14px; flex-wrap:wrap;}
/* The review board's button (audit-board.css .btn / .btn-primary), as on its
   "Submit" in the register-paper form. */
.btn{
  font-family:inherit; font-weight:600; font-size:14px; color:var(--ink);
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:9px 16px; cursor:pointer; white-space:nowrap;
}
.btn:hover{border-color:var(--blue); color:var(--blue);}
.btn:disabled{color:var(--muted); opacity:.5; cursor:default;}
.btn:disabled:hover{border-color:var(--line); color:var(--muted);}
.btn-primary{background:var(--blue); color:#fff; border-color:var(--blue);}
.btn-primary:hover{background:#0f1c33; border-color:#0f1c33; color:#fff;}
.btn-primary:disabled{background:var(--surface); color:var(--muted); border-color:var(--line); opacity:.5;}
.btn-primary:disabled:hover{background:var(--surface); border-color:var(--line); color:var(--muted);}
/* The board's abstract field: text link, live counter, LaTeX preview. */
main .btn-text{
  font-family:var(--sans); font-size:13px; color:var(--accent); background:none; border:none; padding:0;
  cursor:pointer; text-decoration:underline; text-decoration-color:rgba(26,43,74,.32); text-underline-offset:2px;
}
main .btn-text:hover{text-decoration-color:currentColor;}
.abstract-counter{font-family:var(--sans); font-size:12.5px; color:var(--muted); margin-top:4px; font-variant-numeric:tabular-nums;}
.abstract-counter.over{color:var(--danger-text); font-weight:600;}
.abstract-preview{
  margin-top:8px; padding:12px 14px; overflow-x:auto;
  white-space:pre-wrap; line-height:1.55; font-size:16px; color:var(--ink-soft);
  background:var(--surface); border:1px solid var(--line);
}
.abstract-preview[hidden]{display:none;}
.abstract-render .katex-display{margin:0.5em 0; overflow-x:auto; overflow-y:hidden;}
.abstract-render .katex{font-size:1em;}
@media (max-width:820px){
  .hero{padding:44px var(--gutter) 8px;}
}
