.absolute-value {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0;
  pointer-events: none;
  overflow: visible;
}

.absolute-value-bar {
  display: inline-block;
  font-size: 1.15em;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

.absolute-value-body {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
  font-weight: 400;
  background: transparent;
}

.absolute-value-body[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.absolute-value-body[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.absolute-value:focus-within .absolute-value-body {
  border-color: #cccccc;
}

.absolute-value .absolute-value {
  font-size: 0.7em;
}

.absolute-value .absolute-value .absolute-value {
  font-size: 0.49em;
}

.absolute-value .absolute-value .absolute-value .absolute-value {
  font-size: 0.343em;
}

.degree {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0;
  pointer-events: none;
  overflow: visible;
}

.degree-body {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
  font-weight: 400;
  background: transparent;
}

.degree-symbol {
  position: relative;
  top: -0.35em;
  z-index: 3;
  display: inline-block;
  width: auto;
  min-width: 0;
  min-height: 0.9em;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
  outline: none;
  font-size: 0.72em;
  font-weight: 400;
  line-height: 1;
  vertical-align: baseline;
  margin-left: -1px;
  background: transparent;
}

.degree-body[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.degree-body[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.degree:focus-within .degree-body {
  border-color: #cccccc;
}

.degree .degree {
  font-size: 0.7em;
}

.degree .degree .degree {
  font-size: 0.49em;
}

.degree .degree .degree .degree {
  font-size: 0.343em;
}

.exp-function {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0;
  pointer-events: none;
  overflow: visible;
}

.exp-label {
  display: inline-block;
  font-weight: 400;
  line-height: 1.15;
  pointer-events: none;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

.exp-paren {
  display: inline-block;
  pointer-events: none;
  line-height: 1.15;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

.exp-argument {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
  font-weight: 400;
  background: transparent;
}

.exp-argument[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.exp-argument[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.exp-function:focus-within .exp-argument {
  border-color: #cccccc;
}

.exp-function .exp-function {
  font-size: 0.7em;
}

.exp-function .exp-function .exp-function {
  font-size: 0.49em;
}

.exp-function .exp-function .exp-function .exp-function {
  font-size: 0.343em;
}

.exponent-container {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0 1px;
  pointer-events: none;
  overflow: visible;
}

.exponent-base {
  display: inline-block;
  min-width: 30px;
  min-height: 1em;
  padding: 0 2px;
  border: 0;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
}

.exponent-part {
  position: relative;
  top: -0.62em;
  z-index: 3;
  display: inline-block;
  min-width: 14px;
  min-height: 0.9em;
  padding: 1px 2px;
  border: 0;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  pointer-events: auto;
  outline: none;
  font-size: 0.72em;
  line-height: 1;
  margin-left: 1px;
}

.exponent-base[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.exponent-base[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.exponent-part[data-empty="true"] {
  min-width: 14px;
  padding-left: 3px;
  padding-right: 3px;
}

.exponent-part[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.exponent-container:focus-within .exponent-base,
.exponent-container:focus-within .exponent-part {
  box-shadow: inset 0 0 0 1px #cccccc;
}

.exponent-container .exponent-container {
  font-size: 0.7em;
}

.exponent-container .exponent-container .exponent-container {
  font-size: 0.49em;
}

.exponent-container .exponent-container .exponent-container .exponent-container {
  font-size: 0.343em;
}

.factorial {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0;
  pointer-events: none;
  overflow: visible;
}

.factorial-body {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
  font-weight: 400;
  background: transparent;
}

.factorial-symbol {
  display: inline-block;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.15;
  margin-left: 1px;
  pointer-events: none;
  vertical-align: baseline;
  background: transparent;
}

.factorial-body[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.factorial-body[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.factorial:focus-within .factorial-body {
  border-color: #cccccc;
}

.factorial .factorial {
  font-size: 0.7em;
}

.factorial .factorial .factorial {
  font-size: 0.49em;
}

.factorial .factorial .factorial .factorial {
  font-size: 0.343em;
}

.fraction {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: center;
  vertical-align: middle;
  pointer-events: none;
  line-height: 1;
  margin: 0 1px;
  white-space: nowrap;
  min-width: 30px;
  width: auto;
}

.fraction .numerator,
.fraction .denominator {
  display: block;
  width: auto;
  min-width: 30px;
  min-height: 1em;
  padding: 1px 4px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  pointer-events: auto;
  white-space: nowrap;
  line-height: 1.25;
  outline: none;
  background: transparent;
  transition: border-color .15s ease-in-out, background-color .15s ease-in-out;
}

.fraction .numerator[data-empty="true"],
.fraction .denominator[data-empty="true"] {
  background: #f1f3f5;
  border-color: #d5d9de;
}

.fraction .numerator[data-empty="false"],
.fraction .denominator[data-empty="false"] {
  background: transparent;
  border-color: transparent;
}

.fraction:focus-within .numerator,
.fraction:focus-within .denominator {
  border-color: #cccccc;
}

.fraction .fraction-line {
  display: block;
  width: 100%;
  min-width: 30px;
  height: 0;
  border-top: 1px solid #000000;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

.fraction .fraction {
  font-size: 0.7em;
}

.fraction .fraction .fraction {
  font-size: 0.49em;
}

.fraction .fraction .fraction .fraction {
  font-size: 0.343em;
}

.ln-function {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0;
  pointer-events: none;
  overflow: visible;
}

.ln-label {
  display: inline-block;
  font-weight: 400;
  line-height: 1.15;
  pointer-events: none;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

.ln-paren {
  display: inline-block;
  pointer-events: none;
  line-height: 1.15;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

.ln-argument {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
  font-weight: 400;
  background: transparent;
}

.ln-argument[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.ln-argument[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.ln-function:focus-within .ln-argument {
  border-color: #cccccc;
}

.ln-function .ln-function {
  font-size: 0.7em;
}

.ln-function .ln-function .ln-function {
  font-size: 0.49em;
}

.ln-function .ln-function .ln-function .ln-function {
  font-size: 0.343em;
}

.log-base {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0;
  pointer-events: none;
  overflow: visible;
}

.log-base-label {
  display: inline-block;
  font-weight: 400;
  line-height: 1.15;
  pointer-events: none;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

.log-base-subscript {
  position: relative;
  top: 0.35em;
  display: inline-block;
  min-width: 14px;
  min-height: 0.9em;
  padding: 1px 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  pointer-events: auto;
  outline: none;
  font-size: 0.72em;
  font-weight: 400;
  line-height: 1;
  vertical-align: baseline;
  margin-left: 0;
  margin-right: 1px;
  background: transparent;
}

.log-base-paren {
  display: inline-block;
  pointer-events: none;
  line-height: 1.15;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

.log-base-argument {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
  font-weight: 400;
  background: transparent;
}

.log-base-subscript[data-empty="true"] {
  min-width: 14px;
  padding-left: 3px;
  padding-right: 3px;
}

.log-base-subscript[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.log-base-argument[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.log-base-argument[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.log-base:focus-within .log-base-subscript,
.log-base:focus-within .log-base-argument {
  border-color: #cccccc;
}

.log-base .log-base {
  font-size: 0.7em;
}

.log-base .log-base .log-base {
  font-size: 0.49em;
}

.log-base .log-base .log-base .log-base {
  font-size: 0.343em;
}

.nth-root,
.calcunator-nth-root-container {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin-right: 0;
  pointer-events: none;
  overflow: visible;
}

.nth-root-index,
.calcunator-nth-root-index {
  position: relative;
  top: -0.62em;
  z-index: 3;
  display: inline-block;
  flex: 0 0 auto;
  min-width: 14px;
  min-height: 0.9em;
  padding: 1px 2px;
  border: 0;
  text-align: center;
  white-space: nowrap;
  pointer-events: auto;
  outline: none;
  font-size: 0.72em;
  line-height: 1;
  margin-right: -2px;
}

.nth-root-main,
.calcunator-nth-root-main {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: baseline;
  vertical-align: baseline;
  min-height: 1.15em;
  padding-left: 17px;
  margin-left: 0;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.15;
  pointer-events: none;
  overflow: visible;
}

.calcunator-nth-root-svg {
  position: absolute;
  left: 0;
  top: -5px;
  width: 100%;
  height: auto;
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}

.calcunator-nth-root-path {
  fill: none;
  stroke: #000000;
  stroke-width: 0.9;
  stroke-linecap: square;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
}

.nth-root-body,
.calcunator-nth-root-body {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  min-width: 0;
  line-height: 1.15;
  pointer-events: none;
  vertical-align: baseline;
}

.nth-root-radicand,
.calcunator-nth-root-radicand {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  border: 0;
  pointer-events: auto;
  vertical-align: baseline;
}

.nth-root-index[data-empty="true"],
.calcunator-nth-root-index[data-empty="true"] {
  min-width: 14px;
  padding-left: 3px;
  padding-right: 3px;
}

.nth-root-index[data-empty="false"],
.calcunator-nth-root-index[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.nth-root-radicand[data-empty="true"],
.calcunator-nth-root-radicand[data-empty="true"] {
  min-width: 18px;
  padding-left: 4px;
  padding-right: 4px;
}

.nth-root-radicand[data-empty="false"],
.calcunator-nth-root-radicand[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.nth-root:focus-within .nth-root-index,
.nth-root:focus-within .nth-root-radicand,
.calcunator-nth-root-container:focus-within .calcunator-nth-root-index,
.calcunator-nth-root-container:focus-within .calcunator-nth-root-radicand {
  box-shadow: inset 0 0 0 1px #cccccc;
}

.nth-root-symbol,
.nth-root-line {
  display: none;
}

.nth-root .fraction,
.nth-root .calc-fraction,
.calcunator-nth-root-container .fraction,
.calcunator-nth-root-container .calc-fraction {
  vertical-align: middle;
}

.nth-root .nth-root,
.calcunator-nth-root-container .calcunator-nth-root-container {
  font-size: 0.7em;
}

.nth-root .nth-root .nth-root,
.calcunator-nth-root-container .calcunator-nth-root-container .calcunator-nth-root-container {
  font-size: 0.49em;
}

.nth-root .nth-root .nth-root .nth-root,
.calcunator-nth-root-container .calcunator-nth-root-container .calcunator-nth-root-container .calcunator-nth-root-container {
  font-size: 0.343em;
}

.calcunator-square-root-container {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  padding-left: 17px;
  padding-top: 0;
  padding-bottom: 0;
  margin-right: 0;
  pointer-events: none;
  overflow: visible;
}

.calcunator-square-root-svg {
  position: absolute;
  left: 0;
  top: -5px;
  width: 100%;
  height: auto;
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}

.calcunator-square-root-path {
  fill: none;
  stroke: #000000;
  stroke-width: 0.9;
  stroke-linecap: square;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
}

.calcunator-square-root-body {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  min-width: 0;
  line-height: 1.15;
  pointer-events: none;
}

.calcunator-square-root-radicand {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  border: 0;
  pointer-events: auto;
  vertical-align: baseline;
}

.calcunator-square-root-radicand[data-empty="true"] {
  min-width: 18px;
  padding-left: 4px;
  padding-right: 4px;
}

.calcunator-square-root-radicand[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.calcunator-square-root-container:focus-within .calcunator-square-root-radicand {
  box-shadow: inset 0 0 0 1px #cccccc;
}

.calcunator-square-root-container .fraction,
.calcunator-square-root-container .calc-fraction {
  vertical-align: middle;
}

.calcunator-square-root-container .calcunator-square-root-container {
  font-size: 0.7em;
}

.calcunator-square-root-container .calcunator-square-root-container .calcunator-square-root-container {
  font-size: 0.49em;
}

.calcunator-square-root-container .calcunator-square-root-container .calcunator-square-root-container .calcunator-square-root-container {
  font-size: 0.343em;
}

.square-power {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.15;
  min-height: 1.15em;
  margin: 0;
  pointer-events: none;
  overflow: visible;
}

.square-power-base {
  display: inline-block;
  min-width: 0;
  min-height: 1em;
  padding: 0 2px;
  border: 1px solid transparent;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
  line-height: 1.15;
  outline: none;
  pointer-events: auto;
  vertical-align: baseline;
  font-weight: 400;
  background: transparent;
}

.square-power-value {
  position: relative;
  top: -0.62em;
  z-index: 3;
  display: inline-block;
  width: auto;
  min-width: 0;
  min-height: 0.9em;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
  outline: none;
  font-size: 0.72em;
  font-weight: 400;
  line-height: 1;
  vertical-align: baseline;
  margin-left: -1px;
  background: transparent;
}

.square-power-base[data-empty="true"] {
  min-width: 30px;
  padding-left: 4px;
  padding-right: 4px;
}

.square-power-base[data-empty="false"] {
  min-width: 0;
  padding-left: 2px;
  padding-right: 2px;
}

.square-power:focus-within .square-power-base {
  border-color: #cccccc;
}

.square-power .square-power {
  font-size: 0.7em;
}

.square-power .square-power .square-power {
  font-size: 0.49em;
}

.square-power .square-power .square-power .square-power {
  font-size: 0.343em;
}