:root{
  --paper:#F3F4F0;
  --card:#FFFFFF;
  --ink:#111A1E;
  --muted:#6C7A80;
  --line:#DADED6;
  --coomassie:#1E4DA0;
  --coomassie-soft:#E8EDF7;
  --ponceau:#BE3459;
  --r:4px;
  --pad:clamp(16px,4vw,40px);
  --sans:"IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --display:"IBM Plex Mono",ui-monospace,monospace;
}
html[dir="rtl"]{
  --sans:"Vazirmatn",system-ui,sans-serif;
  --display:"Vazirmatn",system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{margin:0;padding:0}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:var(--pad)}

header{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(10px);
  border-block-end:1px solid var(--line);
}
.bar{display:flex;align-items:center;gap:20px;height:62px}
.mark{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:500;font-size:15px;letter-spacing:.16em;text-decoration:none;color:var(--ink)}
.mark i{width:9px;height:9px;background:var(--ponceau);display:block;border-radius:1px}
nav.links{display:flex;gap:22px;margin-inline-start:14px}
nav.links a{color:var(--muted);text-decoration:none;font-size:14.5px}
nav.links a:hover{color:var(--coomassie)}
.spacer{flex:1}
.langs{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.langs a,.langs button{
  border:0;background:transparent;cursor:pointer;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;
  padding:7px 9px;color:var(--muted);
}
.langs a+a,.langs a+a,.langs button+button{border-inline-start:1px solid var(--line)}
.langs a[aria-current="true"],.langs button[aria-pressed="true"]{background:var(--coomassie);color:#fff}
.signin{
  border:1px solid var(--ink);background:transparent;color:var(--ink);
  border-radius:var(--r);padding:8px 16px;font-family:inherit;font-size:14px;cursor:pointer;
  white-space:nowrap;
}
.signin:hover{background:var(--ink);color:var(--paper)}
.menu-btn{display:none}

.hero{padding-block:clamp(38px,7vw,74px) clamp(30px,5vw,52px)}
.eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);margin:0 0 18px;
}
html[dir="rtl"] .eyebrow{letter-spacing:0;font-family:var(--sans);font-size:13px}
h1{
  font-family:var(--display);
  font-weight:300;
  font-size:clamp(28px,5.2vw,54px);
  line-height:1.12;
  letter-spacing:-.02em;
  margin:0 0 16px;
  max-width:19ch;
}
html[dir="rtl"] h1{letter-spacing:0;line-height:1.35;max-width:22ch}
.lede{color:var(--muted);max-width:56ch;margin:0 0 30px;font-size:clamp(15px,1.6vw,17px)}

.pad{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
}
.pad-head{
  display:flex;align-items:center;gap:10px;
  padding:9px 14px;border-block-end:1px solid var(--line);
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
}
.pad-head .dot{width:6px;height:6px;border-radius:50%;background:var(--coomassie)}
textarea#seq{
  display:block;width:100%;border:0;resize:none;outline:0;
  font-family:var(--mono);font-size:14px;line-height:1.85;letter-spacing:.08em;
  padding:16px;min-height:118px;background:transparent;color:var(--ink);
  direction:ltr;text-align:left;word-break:break-all;
}
textarea#seq::placeholder{color:#B4BDBD;letter-spacing:.08em}

.readout{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-block-start:1px solid var(--line);
}
.stat{padding:13px 16px;border-inline-start:1px solid var(--line)}
.stat:first-child{border-inline-start:0}
.stat b{
  display:block;font-family:var(--mono);font-weight:400;
  font-size:clamp(17px,2.4vw,23px);color:var(--ponceau);letter-spacing:-.01em;
  direction:ltr;
}
.stat span{
  display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-block-start:3px;
}
html[dir="rtl"] .stat span{font-family:var(--sans);letter-spacing:0;font-size:12px;text-transform:none}

.acts{display:flex;flex-wrap:wrap;gap:8px;margin-block-start:14px}
.acts button{
  border:1px solid var(--line);background:var(--card);color:var(--coomassie);
  border-radius:var(--r);padding:7px 13px;font-family:inherit;font-size:13.5px;cursor:pointer;
}
.acts button:hover{border-color:var(--coomassie);background:var(--coomassie-soft)}
.acts button[aria-pressed="true"]{background:var(--coomassie);border-color:var(--coomassie);color:#fff}
.derived{
  margin-block-start:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:14px 16px;font-family:var(--mono);font-size:13px;line-height:1.9;letter-spacing:.06em;
  direction:ltr;text-align:left;word-break:break-all;display:none;
}
.derived.on{display:block}
.derived em{display:block;font-style:normal;color:var(--muted);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin-block-end:8px}

.ladder{
  height:11px;margin-block:clamp(34px,6vw,62px) 0;
  border-block-start:1px solid var(--line);
  background:repeating-linear-gradient(to right,var(--line) 0 1px,transparent 1px 34px);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent);
  mask-image:linear-gradient(to bottom,#000,transparent);
}

.tools{padding-block:clamp(26px,4vw,40px) 80px}
.tools-head{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-block-end:22px}
.tools-head h2{font-size:clamp(19px,2.4vw,24px);font-weight:500;margin:0}
.count{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.1em}
.search{
  flex:1;min-width:210px;display:flex;align-items:center;gap:9px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 13px;
}
.search input{flex:1;border:0;outline:0;background:transparent;font-family:inherit;font-size:14.5px;padding:10px 0;color:var(--ink)}
.search svg{flex:none;stroke:var(--muted)}

.chips{display:flex;gap:7px;flex-wrap:wrap;margin-block-end:20px}
.chips button{
  border:1px solid var(--line);background:transparent;color:var(--muted);
  border-radius:100px;padding:6px 14px;font-family:inherit;font-size:13.5px;cursor:pointer;
}
.chips button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:12px}
.tool{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:17px 17px 19px;text-decoration:none;color:var(--ink);display:block;
  transition:border-color .16s,transform .16s;
}
.tool:hover{border-color:var(--coomassie);transform:translateY(-2px)}
.tool .cat{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--coomassie);display:block;margin-block-end:9px;
}
html[dir="rtl"] .tool .cat{font-family:var(--sans);letter-spacing:0;font-size:12px;text-transform:none}
.tool h3{margin:0 0 5px;font-size:16px;font-weight:500;line-height:1.35}
.tool p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}
.empty{color:var(--muted);font-size:14.5px;padding:26px 2px}

footer{border-block-start:1px solid var(--line);padding-block:26px 40px}
.foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--muted);font-size:13.5px}
.foot .mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em}

:focus-visible{outline:2px solid var(--coomassie);outline-offset:2px;border-radius:2px}

@media(max-width:760px){
  nav.links{display:none}
  .bar{height:56px;gap:12px}
  .signin{padding:7px 12px;font-size:13.5px}
  .readout{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){border-inline-start:0}
  .stat:nth-child(-n+2){border-block-end:1px solid var(--line)}
  .grid{grid-template-columns:1fr 1fr;gap:10px}
  .tool{padding:14px}
  .tool h3{font-size:14.5px}
  .tool p{font-size:12.5px}
}
@media(max-width:430px){
  .grid{grid-template-columns:1fr}
  .langs a,.langs button{padding:7px 7px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}

.langs a{display:block;text-decoration:none;line-height:1.2}
.inline{display:inline}
a.signin{display:inline-block;text-decoration:none;line-height:1.5}
.acts button.alt{color:var(--ink);border-style:dashed}
.acts button.alt:hover{border-color:var(--ink);background:transparent}

.narrow{max-width:620px}
.page-title{font-family:var(--display);font-weight:300;font-size:clamp(24px,4vw,38px);line-height:1.2;letter-spacing:-.02em;margin:22px 0 12px}
html[dir="rtl"] .page-title{letter-spacing:0;line-height:1.4;font-weight:400}
.sub{font-size:15px;font-weight:500;margin:0 0 14px;color:var(--muted)}
.dash,.narrow{padding-block:clamp(20px,4vw,40px) 70px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.placeholder{color:var(--muted);display:flex;flex-direction:column;gap:14px;align-items:start}
.form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field>span{font-size:13.5px;color:var(--muted)}
.field input{
  border:1px solid var(--line);border-radius:var(--r);background:var(--paper);
  padding:11px 12px;font-family:inherit;font-size:15px;color:var(--ink);
}
.field input:focus{outline:0;border-color:var(--coomassie);background:var(--card)}
.field small{color:var(--muted);font-size:12.5px}
.check{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--muted)}
.primary{
  background:var(--coomassie);color:#fff;border:1px solid var(--coomassie);
  border-radius:var(--r);padding:12px 18px;font-family:inherit;font-size:15px;cursor:pointer;
}
.primary:hover{background:#173C7D;border-color:#173C7D}
.hint{margin:0;font-size:13.5px;color:var(--muted)}
.hint a{color:var(--coomassie)}

.flash{
  background:#FBEBEF;border:1px solid #EDC2CE;color:#7A2038;
  border-radius:var(--r);padding:11px 14px;margin:16px 0 0;font-size:14px;
}
.flash-ok{background:var(--coomassie-soft);border-color:#C7D6F0;color:#173C7D}

.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.row{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:13px 15px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.row strong{display:block;font-weight:500;font-size:15px}
.row .cat{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--coomassie);
}
html[dir="rtl"] .row .cat{font-family:var(--sans);letter-spacing:0;font-size:12px;text-transform:none}
.row time,.row .mono{font-family:var(--mono);font-size:11.5px;color:var(--muted);direction:ltr}
.row-acts{display:flex;gap:6px}
.ghost{
  border:1px solid var(--line);background:transparent;color:var(--coomassie);
  border-radius:var(--r);padding:6px 11px;font-family:inherit;font-size:13px;cursor:pointer;text-decoration:none;
}
.ghost:hover{border-color:var(--coomassie);background:var(--coomassie-soft)}
.ghost.danger{color:var(--ponceau)}
.ghost.danger:hover{border-color:var(--ponceau);background:#FBEBEF}

.toast{
  position:fixed;inset-block-end:22px;inset-inline-start:50%;transform:translateX(-50%);
  background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:100px;
  font-size:14px;z-index:80;opacity:1;transition:opacity .4s;
}
.toast.bad{background:var(--ponceau)}
.toast.gone{opacity:0}

@media(max-width:760px){
  .cols{grid-template-columns:1fr;gap:28px}
  .row{align-items:start}
}

.tool-page .card+.sub{margin-block-start:30px}
.tool-form{display:flex;flex-direction:column;gap:20px}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.fields.three{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.combo{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.combo input{flex:1;min-width:0;border:0;background:transparent;padding:11px 12px;font-family:var(--mono);font-size:15px;color:var(--ink);direction:ltr}
.combo input:focus{outline:0}
.combo:focus-within{border-color:var(--coomassie);background:var(--card)}
.unit{
  border:0;border-inline-start:1px solid var(--line);background:transparent;
  font-family:var(--mono);font-size:13px;color:var(--muted);padding:0 8px;cursor:pointer;
}
.unit.static{display:flex;align-items:center;padding-inline:12px}
.field select{
  border:1px solid var(--line);border-radius:var(--r);background:var(--paper);
  padding:11px 12px;font-family:inherit;font-size:15px;color:var(--ink);cursor:pointer;
}
.field>span small{color:var(--muted);font-weight:400}

.results{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
.res{padding:14px 16px;border-inline-start:1px solid var(--line)}
.res:first-child{border-inline-start:0}
.res b{display:block;font-family:var(--mono);font-weight:400;font-size:clamp(16px,2.2vw,21px);color:var(--ponceau);direction:ltr}
.res span{display:block;font-size:12.5px;color:var(--muted);margin-block-start:4px}

.warn{margin:0;color:var(--ponceau);font-size:13.5px}
.save-bar{margin-block-start:22px}

.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.data{width:100%;border-collapse:collapse;font-size:13.5px;min-width:420px}
table.data th{
  text-align:start;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);font-weight:400;padding:0 12px 9px;border-block-end:1px solid var(--line);white-space:nowrap;
}
html[dir="rtl"] table.data th{font-family:var(--sans);letter-spacing:0;font-size:12.5px;text-transform:none}
table.data td{padding:9px 12px;border-block-end:1px solid var(--line);direction:ltr;text-align:start}
html[dir="rtl"] table.data td{text-align:right}
table.data tr:last-child td{border-block-end:0}
table.data td.mono{font-family:var(--mono);font-size:12.5px}

@media(max-width:520px){
  .results{grid-template-columns:1fr 1fr}
  .res:nth-child(odd){border-inline-start:0}
  .res{border-block-end:1px solid var(--line)}
}

.drop{
  border:1px dashed var(--line);border-radius:var(--r);padding:20px;
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--paper);
}
.drop.over{border-color:var(--coomassie);background:var(--coomassie-soft)}
.drop .hint{margin:0}
textarea.paste{
  width:100%;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);
  font-family:var(--mono);font-size:12.5px;line-height:1.7;padding:12px;min-height:110px;
  color:var(--ink);resize:vertical;direction:ltr;text-align:left;
}
textarea.paste:focus{outline:0;border-color:var(--coomassie);background:var(--card)}

.adv{border-block-start:1px solid var(--line);padding-block-start:16px}
.adv summary{cursor:pointer;font-size:14.5px;color:var(--coomassie);margin-block-end:14px}
.adv summary::marker{color:var(--muted)}

table.data td.strong{color:var(--ponceau);font-size:13.5px}
table.data td.dim{color:var(--muted)}

.chart-card{margin-block-start:12px;padding:18px}
.chart-title{margin:0 0 10px;font-size:14px;font-weight:500}
.chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
svg.chart{width:100%;min-width:420px;height:auto;display:block}
svg.chart .gl{stroke:var(--line);stroke-width:1}
svg.chart .base{stroke:var(--ponceau);stroke-width:1;stroke-dasharray:4 3}
svg.chart .bar{fill:var(--coomassie)}
svg.chart .bar.cal{fill:#A9BBDD}
svg.chart .err{stroke:var(--ink);stroke-width:1.2}
svg.chart .ax{font-family:"IBM Plex Mono",monospace;font-size:10px;fill:var(--muted)}
svg.chart .ax.end{text-anchor:end}
svg.chart .ax.mid{text-anchor:middle}

.pad-head.plain{border:0;padding:0 0 10px}
textarea.seqbox{min-height:130px;letter-spacing:.06em}
textarea.primerbox{min-height:66px;letter-spacing:.1em}
.seq-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block-start:12px}
.seq-bar .spacer{flex:1}
.seq-bar .hint{margin:0;font-size:12px}
.check.standalone{align-self:end;padding-block-end:11px}

pre.seqout{
  margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:14px;font-family:var(--mono);font-size:12.5px;line-height:1.8;letter-spacing:.06em;
  overflow-x:auto;white-space:pre;direction:ltr;text-align:left;max-height:340px;
}

.frames{display:flex;flex-direction:column;gap:6px;margin-block-end:8px}
.frame{display:flex;gap:10px;align-items:baseline;background:var(--paper);border-radius:var(--r);padding:8px 10px}
.frame-tag{color:var(--coomassie);font-size:11px;flex:none;width:26px}
.frame-seq{
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;word-break:break-all;
  direction:ltr;text-align:left;color:var(--ink);
}
.frame-seq i{color:var(--ponceau);font-style:normal}

.picker{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow-y:auto;padding:4px 0}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:100px;padding:5px 12px;font-size:13px;cursor:pointer;background:var(--card)}
.pill input{margin:0}
.pill:hover{border-color:var(--coomassie)}

ul.checks{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:13.5px}
ul.checks li{color:var(--muted)}
ul.checks .ok{color:var(--coomassie)}
ul.checks .bad{color:var(--ponceau)}
ul.checks li.suggest{color:var(--ink);border-block-start:1px solid var(--line);padding-block-start:9px;margin-block-start:5px}

svg.gel{max-width:320px;min-width:280px}
svg.gel .band{fill:var(--coomassie)}
svg.gel .band.lad{fill:#B6BEBD}

.mark em{font-style:normal;color:var(--muted);letter-spacing:.08em}
@media(max-width:430px){
  .mark{font-size:13px;letter-spacing:.1em}
  .mark em{display:none}
}

.jsfail{
  background:#FBEBEF;border:1px solid #EDC2CE;color:#7A2038;
  border-radius:var(--r);padding:14px 16px;margin:0 0 18px;font-size:13.5px;line-height:1.7;
}
.jsfail ul{margin:8px 0 0;padding-inline-start:18px}
.jsfail a{color:#7A2038;font-family:var(--mono);font-size:12px;word-break:break-all}

table.data.diag td{vertical-align:top}
table.data td.good{color:#1E7A4F}

.print-head{display:none}

@media print{
  header,footer,.save-bar,.jsfail,.seq-bar,.drop,.picker,.chips,.search,.adv summary,.langs,nav.links,.flash{
    display:none !important;
  }
  body{background:#fff;color:#000;font-size:11pt}
  .wrap{max-width:none;padding-inline:0}
  .narrow,.dash,.tools,.hero{padding-block:0}
  .card{border:1px solid #ccc;break-inside:avoid;padding:12px}
  .print-head{
    display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;
    border-block-end:1px solid #000;padding-block-end:6px;margin-block-end:14px;
  }
  .print-head strong{font-family:var(--mono);letter-spacing:.12em}
  .print-head .mono{font-family:var(--mono);font-size:9pt;color:#444;margin-inline-start:auto}
  .page-title{font-size:16pt;margin-block:0 6px}
  .lede{font-size:10pt;margin-block-end:10px}
  .res b{color:#000}
  table.data td.strong{color:#000}
  .combo,.field input,.field select{border-color:#bbb}
  .adv[open] summary{display:none}
  svg.chart{max-width:100%}
  a[href]::after{content:""}
}

.tool-doc{margin-block-start:46px}
.doc-block{margin-block-end:34px}
.doc-block .sub{margin-block-end:12px}
p.formula{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:16px 18px;margin:0 0 14px;font-family:var(--mono);font-size:clamp(15px,2.2vw,18px);
  color:var(--ink);direction:ltr;text-align:center;overflow-x:auto;
}
dl.notation{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px}
dl.notation dt{color:var(--ponceau);direction:ltr;white-space:nowrap}
dl.notation dd{margin:0;color:var(--muted)}

.ex-title{margin:0 0 12px;font-size:15px}
ul.given{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
ul.given li{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:6px 12px;font-size:13px;direction:ltr;
}
ol.steps{margin:0 0 14px;padding-inline-start:20px;font-size:14.5px;color:var(--muted)}
ol.steps li{margin-block-end:6px}
p.answer{
  margin:0;background:var(--coomassie-soft);border:1px solid #C7D6F0;border-radius:var(--r);
  padding:12px 16px;font-size:14.5px;
}
p.answer span{color:var(--muted);font-size:12.5px;display:block;margin-block-end:3px}
p.answer b{color:var(--ink);font-weight:400;direction:ltr;display:inline-block}

ul.mistakes{margin:0;padding-inline-start:20px;font-size:14.5px;color:var(--muted)}
ul.mistakes li{margin-block-end:9px}
ul.mistakes li::marker{color:var(--ponceau)}

details.faq{border-block-end:1px solid var(--line);padding-block:11px}
details.faq:last-of-type{border-block-end:0}
details.faq summary{cursor:pointer;font-size:15px;color:var(--ink)}
details.faq summary::marker{color:var(--coomassie)}
details.faq p{margin:9px 0 2px;color:var(--muted);font-size:14.5px}

.grid.related{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

@media print{
  .tool-doc{display:none !important}
}

.res.standalone{border:1px solid var(--line);border-radius:var(--r);border-inline-start:1px solid var(--line)}
input.cellinput{
  width:100%;min-width:80px;border:1px solid transparent;border-radius:3px;background:transparent;
  font-family:var(--mono);font-size:12.5px;padding:4px 6px;color:var(--ink);direction:ltr;
}
input.cellinput:focus{outline:0;border-color:var(--coomassie);background:var(--paper)}
input.cellinput[readonly]{color:var(--muted)}
textarea.paste.short{min-height:70px}
svg.chart .trace{fill:none;stroke:var(--coomassie);stroke-width:1.6}
svg.chart .pt{fill:var(--ponceau)}

.map-host{display:flex;justify-content:center;padding-block:10px;overflow-x:auto}
svg.plasmid{max-width:100%;height:auto;display:block}
.swatch{
  display:inline-block;width:9px;height:9px;border-radius:2px;
  margin-inline-end:8px;vertical-align:baseline;
}

.pill.static{cursor:default;background:var(--paper)}
.pill.static .dim{color:var(--muted);font-family:var(--mono);font-size:11px}

.fields.two-up{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}

td.seqcell{max-width:340px;word-break:break-all;font-size:11.5px;line-height:1.6}
td.seqcell b{color:var(--coomassie);font-weight:400}
td.seqcell .dim{color:var(--muted)}

.warn.static{
  background:#FBEBEF;border:1px solid #EDC2CE;border-radius:var(--r);
  padding:12px 15px;margin:0 0 20px;line-height:1.7;
}

svg.volcano .vp{opacity:.75}
svg.volcano .vp.ns{fill:#B6BEBD}
svg.volcano .vp.up{fill:#BE3459}
svg.volcano .vp.down{fill:#1E4DA0}
p.warn.static{margin-block-end:18px}

.row.share-row{background:var(--paper);border-style:dashed;padding-block:10px}
.share-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:1;min-width:0}
.share-line .dim{color:var(--muted);font-size:12.5px}
input.sharelink{
  flex:1;min-width:220px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--card);padding:7px 10px;font-size:12px;color:var(--ink);direction:ltr;
}
table.data.nested{min-width:0}
table.data.nested td{padding:5px 10px;vertical-align:top}
table.data.nested td:first-child{width:34%;white-space:normal}

p.meta-line{display:flex;flex-wrap:wrap;gap:18px;margin-block-end:22px}
p.meta-line .mono{color:var(--ink)}
