/* The copy editor. Colours match the public site (assets/style.css). */
:root{--blue:#023990;--blue-l:#0b50bd;--gold:#f2b82b;--gold-edge:#a87a0e;--ink:#16191f;--mut:#5b6472;
  --line:#dfe3e9;--bg:#f5f7fa;--card:#fff;--bad:#a1260d;--bad-bg:#fdf1ee;--good:#1d6b34;--good-bg:#eef8f1;--focus:#0b50bd}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--blue:#9db8f2;--blue-l:#b9cdf6;--ink:#e8ebf0;--mut:#a5adba;
  --line:#343b47;--bg:#14171c;--card:#1d2128;--bad:#f2a08c;--bad-bg:#3a201a;--good:#8fd3a3;--good-bg:#183224}}
:root[data-theme="dark"]{--blue:#9db8f2;--blue-l:#b9cdf6;--ink:#e8ebf0;--mut:#a5adba;--line:#343b47;--bg:#14171c;
  --card:#1d2128;--bad:#f2a08c;--bad-bg:#3a201a;--good:#8fd3a3;--good-bg:#183224}
*{box-sizing:border-box}
html{font-size:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
main{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 7rem}
h1{font-size:1.5rem;margin:0}h2{font-size:1.2rem;margin:0 0 .25rem}
a{color:var(--blue-l)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.5rem;margin-bottom:1rem}
.top p{margin:.25rem 0 0;color:var(--mut)}
.who{display:flex;gap:.75rem;align-items:center;color:var(--mut);font-size:.9375rem;flex-wrap:wrap}

.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.25rem;margin:0 0 1rem}
.card.narrow{max-width:30rem;margin:4rem auto}
.card.narrow p{color:var(--mut)}
.where{margin:0 0 1rem;color:var(--mut);font-size:.875rem}

.field{margin:0 0 1rem}
label{display:block;font-weight:600;margin:0 0 .25rem}
input,textarea{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--mut);border-radius:4px;padding:.55rem .65rem}
textarea{resize:vertical}
input[readonly],textarea[readonly]{background:var(--bg);color:var(--mut)}
[aria-invalid="true"]{border-color:var(--bad);border-width:2px}
.hint{margin:.25rem 0 0;color:var(--mut);font-size:.8125rem}
.error,.block-error{margin:.25rem 0 0;color:var(--bad);font-size:.875rem;font-weight:600}
.error:empty{display:none}

.items{list-style:none;margin:0;padding:0}
.items li{margin:0 0 .75rem}
fieldset{border:1px solid var(--line);border-radius:6px;padding:.75rem 1rem 0;margin:0}
legend{font-weight:700;padding:0 .35rem}
.item-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}

button{font:inherit;font-weight:600;font-size:.9375rem;min-height:2.75rem;padding:.5rem 1rem;border-radius:4px;
  border:1.5px solid var(--blue);background:var(--card);color:var(--blue);cursor:pointer}
button:hover:not(:disabled){background:var(--bg)}
button:disabled{opacity:.45;cursor:not-allowed}
button.primary{background:var(--gold);border-color:var(--gold-edge);color:#241a00}
button.primary:hover:not(:disabled){background:#e5ab1d}
button.danger{border-color:var(--bad);color:var(--bad)}
button.link{border:0;background:none;min-height:0;padding:0;text-decoration:underline;color:var(--blue-l)}

.status:empty{display:none}
.status{border-radius:6px;padding:.75rem 1rem;margin:0 0 1rem;background:var(--card);border:1px solid var(--line)}
.status p{margin:0}
.status.good{background:var(--good-bg);border-color:var(--good);color:var(--good)}
.status.bad{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}
.status a,.status details,.status button{margin-top:.5rem;display:inline-block}
.status pre{white-space:pre-wrap;font-size:.8125rem;color:var(--ink)}
.notice{background:var(--bad-bg);border:1px solid var(--bad);border-radius:6px;padding:.75rem 1rem;margin:0 0 1rem}
.notice p{margin:0 0 .5rem}

.bar{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem 1rem;padding:.75rem max(1rem,calc((100vw - 46rem)/2 + 1rem))}
.bar p{margin:0 auto 0 0;color:var(--mut)}

dialog.confirm{border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);max-width:min(36rem,calc(100vw - 2rem));padding:1.25rem}
dialog.confirm::backdrop{background:rgb(0 0 0 / .45)}
dialog.confirm ul{padding-left:1.25rem}
dialog.confirm li{margin:.35rem 0;overflow-wrap:anywhere}
.actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
