@charset "utf-8";
/* ═══════════════════════════════════════════════════════════════════════════
   PeptidePedia — "Reference Works" design system
   Written from scratch for this site. Nothing shared with any other project.

   The concept: a printed reference work, set properly. A white content column
   on a cool grey-blue canvas; hairlines rather than borders; serif body at a
   74-character measure; sans for chrome; mono for anything that is data.
   Utilitarian on purpose — but set with the care a printed encyclopedia gets.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  /* ── ink & paper ─────────────────────────────────────────────────────── */
  --paper:#FFFFFF;
  --canvas:#F4F6F8;
  --canvas-2:#EAEEF2;      /* table headers, sidebar hover, wash */
  --canvas-3:#DFE5EB;
  --rule:#A7B6C2;          /* the hairline */
  --rule-soft:#D3DCE4;
  --ink:#16212B;           /* body text */
  --ink-2:#3D4C59;         /* secondary */
  --ink-3:#5E6E7C;         /* tertiary, captions */
  --ink-4:#7E8D9A;         /* quaternary, metadata */

  /* ── links ───────────────────────────────────────────────────────────── */
  --link:#2A5CAA;
  --link-hover:#17407C;
  --visited:#6B4FA0;
  --new:#BA3A2E;           /* "page does not exist" */
  --new-hover:#8E2A20;
  --ext:#2A5CAA;

  /* ── semantic ────────────────────────────────────────────────────────── */
  --ok:#2E7D5B;
  --ok-bg:#EBF5F0;
  --warn:#B7791F;
  --warn-bg:#FBF4E7;
  --bad:#BA3A2E;
  --bad-bg:#FBEEEC;
  --info:#2A5CAA;
  --info-bg:#EDF2FA;
  --note:#6B4FA0;
  --note-bg:#F3F0F9;

  /* ── type ────────────────────────────────────────────────────────────── */
  --serif:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3","Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"Source Code Pro",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* a deliberate scale, 1.146 ratio at the small end, opening up at display sizes */
  --t-xxs:11px;
  --t-xs:11.8px;
  --t-sm:13px;
  --t-md:14.4px;
  --t-body:16.2px;
  --t-lg:18.5px;
  --t-xl:21.5px;
  --t-2xl:25px;
  --t-3xl:30px;

  --lh-body:1.62;
  --lh-tight:1.28;
  --measure:74ch;

  /* ── geometry & motion ───────────────────────────────────────────────── */
  --sidebar-w:11.5rem;
  --gutter:1.5rem;
  --shell-max:1560px;
  --ease:cubic-bezier(.2,.6,.25,1);
  --dur:.14s;
  --focus:#0B65D8;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font:400 var(--t-body)/var(--lh-body) var(--serif);
  font-variant-numeric:oldstyle-nums proportional-nums;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:#CFE0F6;color:#0F2545}

/* ── links ─────────────────────────────────────────────────────────────── */
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.14em}
a:visited{color:var(--visited)}
a.new,a.new:visited{color:var(--new)}
a.new:hover{color:var(--new-hover)}
a.ext::after{content:"\2197";font-size:.72em;vertical-align:.28em;margin-left:.12em;opacity:.7;font-family:var(--sans)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:1px}
:focus:not(:focus-visible){outline:none}

.skip{position:absolute;left:-9999px;top:0;background:var(--paper);color:var(--ink);
  padding:.6rem 1rem;border:1px solid var(--rule);font:600 var(--t-sm)/1 var(--sans);z-index:99}
.skip:focus{left:.5rem;top:.5rem}

/* ═══ masthead ═════════════════════════════════════════════════════════ */
.masthead{background:var(--paper);border-bottom:1px solid var(--rule)}
.masthead-in{max-width:var(--shell-max);margin:0 auto;padding:.85rem var(--gutter) .7rem;
  display:flex;align-items:flex-start;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex:0 0 auto}
.brand:hover{text-decoration:none}
.brand svg{width:38px;height:38px;display:block}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-name{font:600 var(--t-xl)/1 var(--serif);color:var(--ink);letter-spacing:-.014em}
.brand-name b{font-weight:600}
.brand-name i{font-style:normal;color:var(--ink-3)}
.brand-tag{font:400 var(--t-xxs)/1.35 var(--sans);color:var(--ink-3);
  letter-spacing:.055em;text-transform:uppercase;margin-top:.3rem}
.mast-right{margin-left:auto;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}
.searchbox{display:flex;align-items:stretch;border:1px solid var(--rule);background:var(--paper)}
.searchbox input{border:0;padding:.4rem .6rem;width:15rem;font:400 var(--t-sm)/1.3 var(--sans);color:var(--ink);background:transparent}
.searchbox input::placeholder{color:var(--ink-4)}
.searchbox input:focus{outline:none}
.searchbox:focus-within{box-shadow:0 0 0 2px rgba(11,101,216,.25)}
.searchbox button{border:0;border-left:1px solid var(--rule-soft);background:var(--canvas-2);
  padding:0 .7rem;font:600 var(--t-xs)/1 var(--sans);color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease)}
.searchbox button:hover{background:var(--canvas-3)}
.mast-links{font:400 var(--t-xs)/1.4 var(--sans);color:var(--ink-3)}
.mast-links a{margin-left:.7rem}
.menu-btn{display:none;border:1px solid var(--rule);background:var(--paper);
  font:600 var(--t-sm)/1 var(--sans);padding:.45rem .7rem;cursor:pointer;color:var(--ink-2)}

/* ═══ shell ════════════════════════════════════════════════════════════ */
.shell{max-width:var(--shell-max);margin:0 auto;padding:0 var(--gutter) 3rem;
  display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);gap:0 1.6rem;align-items:start}

/* ── sidebar ───────────────────────────────────────────────────────────── */
.sidebar{padding:1.15rem 0 2rem;position:sticky;top:0;max-height:100vh;overflow-y:auto;
  font-family:var(--sans);scrollbar-width:thin}
.sb-group{margin-bottom:1.15rem}
.sb-h{font:600 var(--t-xxs)/1.3 var(--sans);text-transform:uppercase;letter-spacing:.075em;
  color:var(--ink-4);padding:0 0 .35rem;border-bottom:1px solid var(--rule-soft);margin-bottom:.35rem}
.sb-group ul{list-style:none;margin:0;padding:0}
.sb-group li{margin:0}
.sb-group a{display:block;padding:.19rem .45rem .19rem 0;font-size:var(--t-sm);line-height:1.35;
  transition:background var(--dur) var(--ease)}
.sb-group a:hover{background:var(--canvas-2);text-decoration:none;padding-left:.3rem;
  margin-left:-.3rem;padding-right:.3rem}
.sb-group a.on{font-weight:600;color:var(--ink)}
.sb-note{font-size:var(--t-xxs);color:var(--ink-4);line-height:1.45;padding-top:.2rem}

/* ── content column ────────────────────────────────────────────────────── */
.content-wrap{min-width:0;padding-top:1.15rem}

/* tab strip */
.tabs{display:flex;align-items:flex-end;gap:0;font-family:var(--sans);font-size:var(--t-sm);
  border-bottom:1px solid var(--rule);margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs.tabs-r{margin-left:auto}
.tabbar{display:flex;align-items:flex-end;border-bottom:1px solid var(--rule)}
.tabbar .tabs{border-bottom:0;flex:0 0 auto}
.tabbar .spacer{flex:1 1 auto;border-bottom:0}
.tabs li{margin:0}
.tabs a{display:block;padding:.34rem .78rem .3rem;border:1px solid transparent;border-bottom:0;
  color:var(--link);white-space:nowrap;transition:background var(--dur) var(--ease)}
.tabs a:hover{background:var(--canvas-2);text-decoration:none}
.tabs li.on a{background:var(--paper);border-color:var(--rule);color:var(--ink);font-weight:600;
  position:relative;top:1px;padding-bottom:.36rem}
.tabs a.new{color:var(--new)}

/* the page surface */
.page{background:var(--paper);border:1px solid var(--rule);border-top:0;padding:1.15rem 1.9rem 2.2rem}
.page-head{margin:0 0 .1rem}
h1.fn{font:400 var(--t-3xl)/1.16 var(--serif);letter-spacing:-.012em;margin:0;color:var(--ink);
  padding-bottom:.28rem;border-bottom:1px solid var(--rule)}
h1.fn .ns{color:var(--ink-3)}
.subtitle{font:400 var(--t-xs)/1.4 var(--sans);color:var(--ink-3);margin:.42rem 0 1rem}
.subtitle .sep{color:var(--rule);margin:0 .4rem}

/* body typography */
.body{max-width:var(--measure)}
.body.wide{max-width:none}
.body p{margin:0 0 .78em}
.body>p:first-of-type{margin-top:.1em}
.mw-heading{display:flex;align-items:baseline;gap:.5rem;margin:1.5em 0 .45em}
.mw-heading2{border-bottom:1px solid var(--rule);padding-bottom:.18rem;margin-top:1.7em}
.mw-heading h2{font:400 var(--t-2xl)/1.22 var(--serif);margin:0;letter-spacing:-.008em}
.mw-heading h3{font:600 var(--t-lg)/1.3 var(--serif);margin:0}
.mw-heading h4{font:700 var(--t-md)/1.3 var(--sans);margin:0;letter-spacing:.005em}
.mw-heading h5{font:700 var(--t-sm)/1.3 var(--sans);margin:0;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
.mw-editsection{font:400 var(--t-xs)/1 var(--sans);color:var(--ink-4);white-space:nowrap;
  opacity:0;transition:opacity var(--dur) var(--ease)}
.mw-heading:hover .mw-editsection,.mw-editsection:focus-within{opacity:1}
.body ul,.body ol{margin:0 0 .8em;padding-left:1.5em}
.body li{margin:.16em 0}
.body ul ul,.body ol ol,.body ul ol,.body ol ul{margin-bottom:.1em}
.body dl{margin:0 0 .85em}
.body dt{font-weight:600;font-family:var(--sans);font-size:var(--t-md);margin-top:.55em}
.body dd{margin:.1em 0 .3em 1.5em}
.body code{font:400 .88em/1.4 var(--mono);background:var(--canvas-2);padding:.06em .3em;
  border:1px solid var(--rule-soft);border-radius:2px;white-space:nowrap}
.body b,.body strong{font-weight:700}
.mathfmt{font-family:var(--mono);font-size:.92em;letter-spacing:-.01em}
.body hr{border:0;border-top:1px solid var(--rule-soft);margin:1.5em 0}

/* hatnotes & cross-references */
.hatnote{font:400 var(--t-md)/1.5 var(--serif);font-style:italic;color:var(--ink-2);
  margin:.15em 0 .8em;padding-left:1.6em}
.rellink{margin:.2em 0 .75em}

/* maintenance banners */
.ambox-stack{margin:.45em 0 1.05em}
.body>.ambox-stack:first-child{margin-top:.2em}
.ambox{display:flex;gap:.7rem;align-items:flex-start;border:1px solid var(--rule-soft);
  border-left-width:5px;background:var(--canvas);padding:.55rem .75rem;margin:0 0 .4rem;
  font:400 var(--t-md)/1.5 var(--sans)}
.ambox-ico{font-size:1rem;line-height:1.3;flex:0 0 auto;opacity:.85}
.ambox-content{border-left-color:var(--warn);background:var(--warn-bg)}
.ambox-severe{border-left-color:var(--bad);background:var(--bad-bg)}
.ambox-style{border-left-color:var(--info);background:var(--info-bg)}
.ambox-notice{border-left-color:var(--note);background:var(--note-bg)}
.ambox-date,.ambox-talk{color:var(--ink-3)}
.ambox-text{min-width:0}

/* notes and quotes */
.wnote{border:1px solid var(--rule-soft);border-left:4px solid var(--info);background:var(--info-bg);
  padding:.6rem .85rem;margin:.9em 0;font:400 var(--t-md)/1.55 var(--sans)}
.wnote-warn{border-left-color:var(--warn);background:var(--warn-bg)}
.wquote{margin:1em 0 1.1em;padding:.15em 0 .15em 1.15rem;border-left:3px solid var(--rule);
  font-style:italic;color:var(--ink-2)}
.wquote p{margin:0 0 .3em}
.wquote footer{font-style:normal;font-family:var(--sans);font-size:var(--t-sm);color:var(--ink-3)}

/* ── table of contents ─────────────────────────────────────────────────── */
.toc{display:table;border:1px solid var(--rule-soft);background:var(--canvas);
  padding:.6rem .95rem .7rem;margin:1.1em 0 1.3em;font-family:var(--sans);font-size:var(--t-sm);
  max-width:26rem}
.toctitle{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid var(--rule-soft);
  padding-bottom:.3rem;margin-bottom:.4rem}
.toctitle h2{font:600 var(--t-md)/1.2 var(--sans);margin:0;letter-spacing:.01em}
.toctoggle{font-size:var(--t-xs);color:var(--ink-4)}
.toc ul{list-style:none;margin:0;padding:0}
.toc ul ul{padding-left:1.15em}
.toc li{margin:.1em 0}
.toc a{display:block;line-height:1.4}
.toc a:hover{text-decoration:none;background:var(--canvas-2)}
.tocnumber{color:var(--ink-3);font-family:var(--mono);font-size:.86em;font-variant-numeric:tabular-nums;margin-right:.3em}
.toc.tochidden ul{display:none}

/* ── infobox ───────────────────────────────────────────────────────────── */
.infobox{float:right;clear:right;width:22.4rem;max-width:100%;margin:.25rem 0 1.15rem 1.5rem;
  border:1px solid var(--rule);border-collapse:collapse;background:var(--paper);
  font:400 var(--t-sm)/1.48 var(--sans)}
.infobox th,.infobox td{border-top:1px solid var(--rule-soft);padding:.35rem .55rem;text-align:left;vertical-align:top}
.infobox tr:first-child th{border-top:0}
.infobox th[scope=row]{width:41%;font-weight:600;color:var(--ink-2);background:var(--canvas);
  hyphens:auto;-webkit-hyphens:auto}
.infobox .ib-title{font:600 var(--t-lg)/1.24 var(--serif);text-align:center;background:var(--canvas-2);
  padding:.55rem .6rem;border-bottom:1px solid var(--rule)}
.infobox .ib-title .ib-sub{display:block;font:400 var(--t-xs)/1.3 var(--sans);color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem}
.infobox .ib-group{background:var(--canvas);font:600 var(--t-xs)/1.3 var(--sans);text-align:center;
  text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);padding:.34rem .5rem}
.infobox .ib-image{text-align:center;padding:.6rem .5rem;background:#FCFDFE}
.infobox .ib-image svg{max-width:100%;height:auto}
.infobox .ib-cap{font-size:var(--t-xs);color:var(--ink-3);line-height:1.42;margin-top:.35rem;text-align:left}
.infobox .ib-full{font-size:var(--t-xs);color:var(--ink-2)}
.infobox .ib-foot{background:var(--canvas);font-size:var(--t-xxs);color:var(--ink-4);text-align:center;
  letter-spacing:.03em}
/* infobox type accents */
.ib-compound .ib-title{background:#E9EFF8;border-bottom-color:#8FA9CC}
.ib-method .ib-title{background:#E8F1EC;border-bottom-color:#8DB4A1}
.ib-organisation .ib-title,.ib-vendor .ib-title{background:#F3EFE6;border-bottom-color:#C2B497}
.ib-service .ib-title{background:#F1EDF7;border-bottom-color:#AF9ECB}
.ib-tool .ib-title{background:#FBF3E4;border-bottom-color:#D8BE86}
.ib-person .ib-title{background:#EDF0F2;border-bottom-color:#9EB0BC}

/* ── figures ───────────────────────────────────────────────────────────── */
.thumb{margin:.3rem 0 1.1rem;max-width:100%}
.thumb.tright{float:right;clear:right;width:19.5rem;margin-left:1.5rem}
.thumb.twide{float:none;width:100%;max-width:36rem;margin-left:0}
.thumbinner{border:1px solid var(--rule-soft);background:var(--canvas);padding:.45rem}
.thumbinner svg{display:block;width:100%;height:auto;background:var(--paper);border:1px solid var(--rule-soft)}
.thumbcaption{font:400 var(--t-xs)/1.45 var(--sans);color:var(--ink-2);padding:.42rem .1rem .1rem}
.ppsvg{max-width:100%}

/* ── tables ────────────────────────────────────────────────────────────── */
.tscroll{overflow-x:auto;margin:1em 0 1.15em;border-left:0;-webkit-overflow-scrolling:touch}
.wikitable{border-collapse:collapse;font:400 var(--t-md)/1.45 var(--sans);
  background:var(--paper);min-width:min(100%,22rem);width:auto;max-width:100%}
.wikitable caption{font:600 var(--t-sm)/1.4 var(--sans);text-align:left;color:var(--ink-2);
  padding:0 0 .35rem;caption-side:top}
.wikitable th,.wikitable td{border:1px solid var(--rule-soft);padding:.34rem .6rem;text-align:left;vertical-align:top}
.wikitable thead th{background:var(--canvas-2);font-weight:600;border-bottom-color:var(--rule);
  color:var(--ink);white-space:nowrap}
.wikitable th[scope=row]{background:var(--canvas);font-weight:600}
.wikitable th.subhead{background:var(--canvas);text-align:left;font-size:var(--t-sm);
  text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.wikitable td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.92em;white-space:nowrap}
.wikitable tbody tr:nth-child(even){background:#FBFCFD}
.wikitable.sortable thead th{cursor:pointer;user-select:none}
.wikitable.sortable thead th::after{content:"\2195";font-size:.75em;opacity:.35;margin-left:.35em}
.wikitable.compact th,.wikitable.compact td{padding:.22rem .45rem;font-size:var(--t-sm)}

/* ── references ────────────────────────────────────────────────────────── */
sup.reference{font-size:.72em;line-height:1;vertical-align:.38em;white-space:nowrap;
  font-family:var(--sans);font-variant-numeric:tabular-nums}
sup.reference a{padding:0 .06em}
sup.noref{font-size:.74em;vertical-align:.32em;color:var(--ink-4);font-family:var(--sans)}
ol.references{font:400 var(--t-sm)/1.52 var(--serif);color:var(--ink-2);
  columns:2;column-gap:2rem;padding-left:1.7em;margin:.5em 0 1em}
ol.references li{margin:0 0 .42em;break-inside:avoid}
ol.references li:target{background:#FFF6D9;outline:2px solid #E4C767;outline-offset:2px}
.backlink,.backlink-sub{font-family:var(--sans);font-weight:600;font-size:.9em}
.reflist-narrow ol.references{columns:1}
.further,.extlinks{font-size:var(--t-md)}
.further li,.extlinks li{margin:.24em 0}
.extlinks .note{color:var(--ink-3);font-size:var(--t-sm)}

/* ── category footer ───────────────────────────────────────────────────── */
.catlinks{border:1px solid var(--rule-soft);background:var(--canvas);padding:.5rem .75rem;
  margin:1.9em 0 0;font:400 var(--t-sm)/1.6 var(--sans)}
.catlinks .cl-label{font-weight:600;color:var(--ink-2);margin-right:.4rem}
.catlinks ul{display:inline;list-style:none;margin:0;padding:0}
.catlinks li{display:inline-block;margin:0}
.catlinks li:not(:last-child)::after{content:"|";color:var(--rule);margin:0 .45rem}
.catlinks .cl-hidden{border-top:1px dotted var(--rule-soft);margin-top:.4rem;padding-top:.4rem;
  color:var(--ink-3);font-size:var(--t-xs)}

/* ── navbox ────────────────────────────────────────────────────────────── */
.navbox{clear:both;border:1px solid var(--rule-soft);margin:1.5em 0 0;font:400 var(--t-sm)/1.5 var(--sans);
  background:var(--paper)}
.navbox-title{background:var(--canvas-2);border-bottom:1px solid var(--rule-soft);padding:.35rem .7rem;
  font-weight:600;text-align:center;letter-spacing:.01em}
.navbox-row{display:flex;border-top:1px solid var(--rule-soft)}
.navbox-row:first-of-type{border-top:0}
.navbox-side{flex:0 0 8.5rem;background:var(--canvas);padding:.35rem .6rem;font-weight:600;
  font-size:var(--t-xs);color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
.navbox-list{flex:1 1 auto;padding:.35rem .7rem;min-width:0}
.hlist{list-style:none;margin:0;padding:0;display:inline}
.hlist li{display:inline}
.hlist li:not(:last-child)::after{content:"\00b7";color:var(--rule);margin:0 .4rem}

/* ── footer ────────────────────────────────────────────────────────────── */
.lastedit{font:400 var(--t-sm)/1.6 var(--sans);color:var(--ink-3);
  border-top:1px solid var(--rule-soft);margin-top:1.6em;padding-top:.6rem}
.sitefooter{border-top:1px solid var(--rule);background:var(--paper);margin-top:0}
.sitefooter-in{max-width:var(--shell-max);margin:0 auto;padding:1.3rem var(--gutter) 2.2rem;
  font-family:var(--sans);font-size:var(--t-sm);color:var(--ink-3)}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.1rem 1.6rem;margin-bottom:1.1rem}
.foot-grid h3{font:600 var(--t-xs)/1.3 var(--sans);text-transform:uppercase;letter-spacing:.075em;
  color:var(--ink-4);margin:0 0 .35rem;padding-bottom:.28rem;border-bottom:1px solid var(--rule-soft)}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin:.12rem 0}
.foot-legal{border-top:1px solid var(--rule-soft);padding-top:.85rem;line-height:1.6;font-size:var(--t-xs)}
.foot-legal p{margin:0 0 .4rem;max-width:78ch}

/* ═══ sponsor units ════════════════════════════════════════════════════ */
.supporter{border:1px solid var(--rule-soft);background:var(--paper);margin:1.3em 0 0;font-family:var(--sans)}
.supporter-lbl{background:var(--canvas-2);border-bottom:1px solid var(--rule-soft);
  padding:.22rem .6rem;font:600 var(--t-xxs)/1.4 var(--sans);text-transform:uppercase;
  letter-spacing:.09em;color:var(--ink-4)}
.supporter-body{display:flex;gap:.85rem;padding:.7rem .8rem;align-items:flex-start}
.supporter-mark{flex:0 0 auto;width:2.4rem;height:2.4rem;display:grid;place-items:center;
  border:1px solid var(--rule-soft);font:700 var(--t-md)/1 var(--sans);color:var(--paper)}
.supporter h4{font:600 var(--t-md)/1.35 var(--sans);margin:0 0 .18rem;color:var(--ink)}
.supporter p{font-size:var(--t-sm);line-height:1.5;margin:0 0 .35rem;color:var(--ink-2)}
.supporter .cta{font:600 var(--t-xs)/1 var(--sans);color:var(--link)}
.supporter-side .supporter-body{display:block}
.supporter-side .supporter-mark{margin-bottom:.45rem}

/* ═══ talk pages ═══════════════════════════════════════════════════════ */
.talk-banner{border:1px solid var(--rule-soft);border-left:4px solid var(--info);background:var(--info-bg);
  padding:.5rem .8rem;margin:0 0 .45rem;font:400 var(--t-sm)/1.5 var(--sans)}
.archivebox{float:right;clear:right;width:15rem;max-width:100%;border:1px solid var(--rule-soft);
  background:var(--canvas);margin:0 0 1rem 1.4rem;font:400 var(--t-sm)/1.5 var(--sans)}
.archivebox h3{font:600 var(--t-xs)/1.3 var(--sans);text-transform:uppercase;letter-spacing:.07em;
  background:var(--canvas-2);border-bottom:1px solid var(--rule-soft);margin:0;padding:.32rem .6rem;color:var(--ink-2)}
.archivebox ul{list-style:none;margin:0;padding:.4rem .7rem}
.thread{margin:0 0 1.4em}
.thread-status{display:inline-block;font:600 var(--t-xxs)/1.5 var(--sans);text-transform:uppercase;
  letter-spacing:.07em;padding:.08rem .45rem;border:1px solid;margin-left:.5rem;vertical-align:.18em}
.st-resolved,.st-done{color:var(--ok);border-color:#A8CFBC;background:var(--ok-bg)}
.st-stale{color:var(--ink-3);border-color:var(--rule);background:var(--canvas)}
.st-rfc{color:var(--note);border-color:#C1B0DA;background:var(--note-bg)}
.st-move,.st-merge{color:var(--warn);border-color:#DEC391;background:var(--warn-bg)}
.resolvebox{border:1px solid #A8CFBC;background:var(--ok-bg);padding:.42rem .75rem;
  font:400 var(--t-sm)/1.5 var(--sans);margin:.5em 0 .8em;color:#215C43}
.rfcbox{border:1px solid #C1B0DA;background:var(--note-bg);padding:.42rem .75rem;
  font:400 var(--t-sm)/1.5 var(--sans);margin:.5em 0 .8em}
.movebox{border:1px solid #DEC391;background:var(--warn-bg);padding:.42rem .75rem;
  font:400 var(--t-sm)/1.5 var(--sans);margin:.5em 0 .8em}
.tpost{margin:0 0 .7em;font-size:var(--t-md)}
.tpost p{margin:0 0 .55em}
.tpost.i1{margin-left:1.6em}
.tpost.i2{margin-left:3.2em}
.tpost.i3{margin-left:4.8em}
.tpost.i4{margin-left:6.4em}
.tpost>*:first-child{margin-top:0}
.sig{font-family:var(--sans);font-size:var(--t-sm);color:var(--ink-3);white-space:normal}
.sig a{font-weight:600}
.tl{font-family:var(--mono);font-size:.9em;color:var(--ink-3)}
.donetag{color:var(--ok);font-weight:700;font-family:var(--sans);font-size:.9em}

/* ═══ history / diffs / recent changes ═════════════════════════════════ */
.hist{list-style:none;margin:.8em 0;padding:0;font:400 var(--t-sm)/1.6 var(--sans)}
.hist li{padding:.24rem .4rem;border-bottom:1px solid var(--canvas-2);display:flex;
  flex-wrap:wrap;gap:.4rem;align-items:baseline}
.hist li:hover{background:#FBFCFD}
.hist .cur{color:var(--ink-4)}
.hist .ts{font-family:var(--mono);font-size:.92em;white-space:nowrap}
.hist .who{font-weight:600}
.hist .bytes{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:.92em}
.hist .summary{color:var(--ink-2);font-style:italic;flex:1 1 14rem;min-width:0}
.delta{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;font-size:.92em}
.delta.up{color:var(--ok)}
.delta.down{color:var(--bad)}
.delta.zero{color:var(--ink-4)}
.delta.big{background:var(--canvas-2);padding:0 .2em}
.flag{display:inline-block;font:700 var(--t-xxs)/1.4 var(--sans);border:1px solid var(--rule);
  padding:0 .26rem;color:var(--ink-2);background:var(--canvas)}
.flag-b{color:var(--note);border-color:#C1B0DA}
.flag-n{color:var(--ok);border-color:#A8CFBC}
.rc-day{font:600 var(--t-md)/1.4 var(--sans);margin:1.2em 0 .3em;padding-bottom:.2rem;
  border-bottom:1px solid var(--rule-soft)}
.diff{width:100%;border-collapse:collapse;font:400 var(--t-sm)/1.5 var(--mono);table-layout:fixed;margin:.9em 0}
.diff col.marker{width:1.6rem}
.diff th{background:var(--canvas-2);border:1px solid var(--rule-soft);padding:.3rem .55rem;
  font:600 var(--t-sm)/1.4 var(--sans);text-align:left}
.diff td{border:1px solid var(--rule-soft);padding:.24rem .5rem;vertical-align:top;
  word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap}
.diff td.marker{text-align:center;font-weight:700;background:var(--canvas);color:var(--ink-3);padding:.24rem 0}
.diff .del{background:#FBEEEC}
.diff .ins{background:#EBF5F0}
.diff .ctx{color:var(--ink-3)}
.diff ins{background:#CCE9DA;text-decoration:none;padding:0 .05em}
.diff del{background:#F6D6D1;text-decoration:line-through;padding:0 .05em}
.oldrev{border:1px solid #DEC391;background:var(--warn-bg);padding:.6rem .85rem;
  font:400 var(--t-md)/1.55 var(--sans);margin:0 0 1.1em}
.revnav{font:400 var(--t-sm)/1.6 var(--sans);color:var(--ink-3);margin:.4em 0 1em;
  padding:.4rem .6rem;background:var(--canvas);border:1px solid var(--rule-soft);text-align:center}
.revnav a{margin:0 .25rem}

/* ── source view ───────────────────────────────────────────────────────── */
.sourcebox{border:1px solid var(--rule);background:#FCFDFE;padding:.85rem 1rem;margin:.9em 0;
  font:400 13.2px/1.62 var(--mono);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;
  color:var(--ink);max-height:none;tab-size:2}
.sourcebox .wt-tpl{color:#7A4E9E}
.sourcebox .wt-lnk{color:#1F5AA8}
.sourcebox .wt-hd{color:#B7791F;font-weight:700}
.sourcebox .wt-tbl{color:#2E7D5B}
.editnotice{border:1px solid var(--rule-soft);background:var(--canvas);padding:.55rem .8rem;
  font:400 var(--t-md)/1.55 var(--sans);margin:0 0 1em}

/* ── generic listing / index pages ─────────────────────────────────────── */
.idx-cols{columns:3;column-gap:2rem;font:400 var(--t-md)/1.6 var(--sans);margin:.8em 0}
.idx-cols ul{list-style:none;margin:0;padding:0}
.idx-cols li{margin:.1em 0;break-inside:avoid}
.idx-2{columns:2}
.letterhead{font:700 var(--t-lg)/1.2 var(--serif);color:var(--ink-3);border-bottom:1px solid var(--rule-soft);
  margin:1.1em 0 .4em;padding-bottom:.15rem;break-after:avoid}
.pager{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:1.4em 0 .3em;
  font:400 var(--t-sm)/1 var(--sans);padding-top:.8rem;border-top:1px solid var(--rule-soft)}
.pager a,.pager span{border:1px solid var(--rule-soft);padding:.3rem .55rem;min-width:2rem;text-align:center}
.pager .on{background:var(--canvas-2);font-weight:700;color:var(--ink);border-color:var(--rule)}
.pager .off{color:var(--ink-4)}
.pager .lbl{border:0;padding:.3rem .1rem;color:var(--ink-3)}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1px;
  background:var(--rule-soft);border:1px solid var(--rule-soft);margin:1em 0}
.statgrid div{background:var(--paper);padding:.7rem .8rem}
.statgrid .n{display:block;font:600 var(--t-2xl)/1.1 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}
.statgrid .l{display:block;font:400 var(--t-xs)/1.4 var(--sans);color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem}
.empty{border:1px dashed var(--rule);background:var(--canvas);padding:1.5rem 1.2rem;text-align:center;
  font:400 var(--t-md)/1.6 var(--sans);color:var(--ink-3);margin:1.2em 0}
.empty strong{display:block;font-size:var(--t-lg);color:var(--ink-2);margin-bottom:.3rem;font-family:var(--serif);font-weight:400}

/* ── main page ─────────────────────────────────────────────────────────── */
.mp-welcome{border:1px solid var(--rule-soft);background:var(--canvas);padding:1.15rem 1.4rem;
  text-align:center;margin:0 0 1.2rem}
.mp-welcome h1{font:400 var(--t-3xl)/1.2 var(--serif);margin:0 0 .3rem;letter-spacing:-.014em;border:0;padding:0}
.mp-welcome p{font:400 var(--t-md)/1.6 var(--sans);color:var(--ink-2);margin:0 auto;max-width:62ch}
.mp-count{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums}
.mp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1.2rem;margin:0 0 1.2rem}
.mp-box{border:1px solid var(--rule-soft);background:var(--paper);min-width:0}
.mp-box h2{font:600 var(--t-md)/1.35 var(--sans);margin:0;padding:.45rem .8rem;
  background:var(--canvas-2);border-bottom:1px solid var(--rule-soft);letter-spacing:.01em}
.mp-box .in{padding:.8rem .9rem}
.mp-box p{margin:0 0 .6em;font-size:var(--t-md)}
.mp-box p:last-child{margin-bottom:0}
.mp-portals{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.55rem}
.mp-portal{border:1px solid var(--rule-soft);padding:.5rem .65rem;background:var(--paper);
  font-family:var(--sans);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);display:block}
.mp-portal:hover{background:var(--canvas);border-color:var(--rule);text-decoration:none}
.mp-portal b{display:block;font:600 var(--t-md)/1.3 var(--sans);color:var(--link);margin-bottom:.12rem}
.mp-portal span{font-size:var(--t-xs);color:var(--ink-3);line-height:1.4;display:block}
.dyk{font-size:var(--t-md)}
.dyk li{margin:.34em 0}

/* ── interactive tools ─────────────────────────────────────────────────── */
.calc{border:1px solid var(--rule);background:var(--canvas);padding:1rem 1.15rem;margin:1.1em 0;
  font-family:var(--sans)}
.calc h3{font:600 var(--t-md)/1.3 var(--sans);margin:0 0 .7rem;padding-bottom:.3rem;
  border-bottom:1px solid var(--rule-soft);text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-xs);color:var(--ink-3)}
.calc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.7rem .9rem;margin-bottom:.85rem}
.field label{display:block;font:600 var(--t-xs)/1.4 var(--sans);color:var(--ink-2);margin-bottom:.2rem}
.field input,.field select{width:100%;border:1px solid var(--rule);background:var(--paper);
  padding:.38rem .5rem;font:400 var(--t-md)/1.3 var(--mono);color:var(--ink)}
.field .hint{font:400 var(--t-xxs)/1.45 var(--sans);color:var(--ink-4);margin-top:.18rem}
.calc-out{background:var(--paper);border:1px solid var(--rule);padding:.75rem .9rem}
.calc-out .big{font:600 var(--t-2xl)/1.15 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);display:block}
.calc-out .lbl{font:400 var(--t-xs)/1.4 var(--sans);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.calc-out dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;margin:.6rem 0 0;font-size:var(--t-sm)}
.calc-out dt{font-weight:600;color:var(--ink-2);font-family:var(--sans)}
.calc-out dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums}
.calc-warn{color:var(--bad);font:600 var(--t-sm)/1.5 var(--sans);margin-top:.5rem}
.filterbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1em 0 .6em;
  font-family:var(--sans);font-size:var(--t-sm)}
.filterbar input,.filterbar select{border:1px solid var(--rule);padding:.32rem .5rem;font:400 var(--t-sm)/1.3 var(--sans)}
.searchresult{border-bottom:1px solid var(--canvas-2);padding:.6rem 0}
.searchresult h3{font:600 var(--t-lg)/1.35 var(--serif);margin:0 0 .1rem}
.searchresult .u{font:400 var(--t-xs)/1.4 var(--mono);color:var(--ok)}
.searchresult p{font-size:var(--t-md);margin:.15rem 0 0;color:var(--ink-2)}
.searchresult mark{background:#FFF0BF;padding:0 .1em}

/* ── user pages ────────────────────────────────────────────────────────── */
.userboxes{float:right;clear:right;width:16.5rem;max-width:100%;margin:0 0 1rem 1.4rem}
.userbox{display:flex;border:1px solid var(--rule-soft);background:var(--paper);margin-bottom:.4rem;
  font:400 var(--t-sm)/1.42 var(--sans);min-height:2.6rem}
.userbox-id{flex:0 0 2.6rem;display:grid;place-items:center;font-size:1.15rem;
  border-right:1px solid var(--rule-soft);background:var(--canvas-2)}
.userbox-txt{padding:.35rem .5rem;min-width:0}
.barnstar{display:flex;gap:.7rem;border:1px solid #DEC391;background:var(--warn-bg);
  padding:.6rem .8rem;margin:.6em 0;font:400 var(--t-md)/1.55 var(--sans)}
.barnstar .star{font-size:1.5rem;line-height:1;flex:0 0 auto}
.avatar{display:block;border:1px solid var(--rule-soft)}

/* ── 404 ───────────────────────────────────────────────────────────────── */
.e404{text-align:center;padding:2.5rem 1rem 3rem}
.e404 .code{font:400 4.5rem/1 var(--mono);color:var(--rule);letter-spacing:-.04em}
.e404 h1{font:400 var(--t-2xl)/1.25 var(--serif);border:0;margin:.5rem 0 .6rem;padding:0}
.e404 p{font:400 var(--t-md)/1.65 var(--sans);color:var(--ink-2);max-width:56ch;margin:0 auto .9rem}

/* ═══ responsive ═══════════════════════════════════════════════════════ */
@media (max-width:1300px){
  ol.references{columns:1}
  .idx-cols{columns:2}
}
@media (max-width:1080px){
  :root{--sidebar-w:0px;--gutter:1rem}
  .shell{grid-template-columns:minmax(0,1fr);gap:0}
  .menu-btn{display:block}
  .sidebar{position:static;max-height:none;order:2;padding:1.2rem 0 0;
    display:none;border-top:1px solid var(--rule)}
  .sidebar.open{display:block}
  .content-wrap{order:1}
  .page{padding:1rem 1.1rem 1.8rem}
  .infobox{float:none;width:100%;margin:.6rem 0 1.2rem}
  .thumb.tright{float:none;width:100%;max-width:34rem;margin:.6rem 0 1.2rem}
  .archivebox,.userboxes{float:none;width:100%;margin:.6rem 0 1.1rem}
  .body{max-width:none}
  .mast-right{width:100%;justify-content:flex-start}
  .searchbox input{width:100%}
  .searchbox{flex:1 1 12rem}
}
@media (max-width:720px){
  :root{--t-body:15.8px;--t-3xl:25px;--t-2xl:21px;--t-xl:19px}
  .masthead-in{flex-wrap:wrap;gap:.7rem}
  .idx-cols{columns:1}
  .navbox-row{flex-direction:column}
  .navbox-side{flex:0 0 auto;border-bottom:1px solid var(--rule-soft)}
  .tpost.i2{margin-left:2rem}.tpost.i3{margin-left:2.8rem}.tpost.i4{margin-left:3.6rem}
  .hist li{gap:.3rem .5rem}
  .diff{font-size:12px}
  .statgrid .n{font-size:var(--t-xl)}
}
@media (max-width:400px){
  :root{--gutter:.65rem}
  .page{padding:.85rem .8rem 1.5rem}
  .brand svg{width:32px;height:32px}
  .brand-name{font-size:var(--t-lg)}
  .tpost.i1{margin-left:.9rem}.tpost.i2{margin-left:1.6rem}
  .tpost.i3{margin-left:2.2rem}.tpost.i4{margin-left:2.8rem}
}
@media (min-width:1900px){
  :root{--t-body:17px;--sidebar-w:13rem;--gutter:2.2rem}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}

/* ═══ print ════════════════════════════════════════════════════════════ */
@media print{
  :root{--canvas:#fff;--canvas-2:#f2f2f2;--rule:#999;--rule-soft:#ccc}
  body{background:#fff;font-size:10.5pt;line-height:1.45}
  .masthead .mast-right,.sidebar,.tabbar,.tabs,.supporter,.menu-btn,.skip,
  .mw-editsection,.toctoggle,.pager,.searchbox,.revnav{display:none!important}
  .shell{display:block;max-width:none;padding:0}
  .page{border:0;padding:0}
  .masthead{border-bottom:1pt solid #333;margin-bottom:8pt}
  h1.fn{font-size:20pt}
  .mw-heading2{page-break-after:avoid}
  .infobox,.thumb,.wikitable,.toc{page-break-inside:avoid}
  .infobox{width:38%;font-size:8.5pt}
  ol.references{columns:2;font-size:8.5pt}
  a{color:#000;text-decoration:none}
  a[href^="/"]::after{content:" [peptidewikipedia.net" attr(href) "]";font-size:7.5pt;color:#555;font-family:var(--mono)}
  .catlinks,.navbox{border:1pt solid #999}
  .sitefooter-in{font-size:8pt}
  .foot-grid{display:none}
}
