@charset "UTF-8";
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-v20-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-v20-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-v20-greek-ext.woff2") format("woff2");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-v20-greek.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-v20-vietnamese.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-v20-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/inter-v20-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
* {
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
  font-weight: 400;
}

.input-field {
  width: 100%;
  gap: 8px;
  padding: 9px 13px;
  position: relative;
  background-color: white;
}
.input-field::after {
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0509803922);
  content: "";
  display: block;
  border: 1px solid #D1D5DB;
  width: calc(100% - 1px);
  height: calc(100% - 2px);
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  transition: 0.3s ease;
}
.input-field:focus-within::after {
  border-color: #FFB570;
  z-index: 1;
}
.input-field--date .input-field__input, .input-field--time .input-field__input {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 20px;
  background: transparent;
}
.input-field--date .input-field__input::-webkit-calendar-picker-indicator, .input-field--time .input-field__input::-webkit-calendar-picker-indicator {
  display: none;
}
.input-field--date .input-field__input::-webkit-date-and-time-value, .input-field--time .input-field__input::-webkit-date-and-time-value {
  text-align: left;
}
.input-field--date svg, .input-field--time svg {
  cursor: pointer;
}
html.dark .input-field--date html.dark .input-field__input, html.dark .input-field--time html.dark .input-field__input {
  color-scheme: dark;
}
.input-field__input {
  width: 100%;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: #111827;
}
.input-field__input--full {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
html[dir=rtl] .input-field__input {
  unicode-bidi: plaintext;
  text-align: right;
}
.input-field__input--textarea {
  resize: none;
  height: auto;
  overflow: hidden;
  max-height: 180px;
}
.input-field__input--ratio {
  --width: 1ch;
  max-width: calc(50% - 4px);
  width: var(--width);
}
.input-field__text {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #111827;
  text-align: left;
}
.input-field__hint {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: #6B7280;
  white-space: nowrap;
}
.input-field__hint sub, .input-field__hint sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.input-field__hint sub {
  bottom: -0.25em;
}
.input-field__hint sup {
  top: -0.25em;
}
.input-field__scroll {
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.input-field__scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.input-field path[stroke-width],
.input-field path[stroke] {
  stroke: #9CA3AF;
}
.input-field path[fill] {
  fill: #9CA3AF;
}
.input-field svg {
  min-width: 20px;
  min-height: 20px;
  pointer-events: none;
}
.input-field--separator {
  display: flex;
  align-items: center;
  max-height: 38px;
  height: 38px;
  max-width: 52px;
  background-color: #F9FAFB;
  justify-content: center;
  color: #6B7280;
  width: auto;
  font-size: 14px;
}
.input-field--separator-colon {
  font-size: 1.5rem;
  line-height: 1rem;
  padding-bottom: 9px;
  padding-top: 5px;
}
.input-field--separator-sky {
  background: #FFF5E9;
}
.input-field--separator-sky::after {
  border-color: #FFD1A3;
}
.input-field--separator-sky path[stroke] {
  stroke: #C55F00;
}
.input-field--error {
  z-index: 1;
}
.input-field--error::after {
  border-color: #F87171;
}
.input-field--error > .input-field__input {
  color: #F87171;
}
.input-field--error > .input-field__input::-moz-placeholder {
  color: #F87171;
}
.input-field--error > .input-field__input::placeholder {
  color: #F87171;
}
.input-field--clear {
  width: 38px;
  height: 38px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: #F9FAFB;
}
.input-field--clear:disabled path {
  fill: #E5E7EB;
}
.input-field--height .imperial-system-item:first-child {
  max-width: 8px;
}
.input-field--fraction .input-field__input {
  text-align: center;
}
.input-field--fraction .input-field__input:first-child {
  padding-bottom: 8px;
  border-bottom: 1px solid #374151;
}
.input-field--mixed .input-field__input {
  text-align: center;
}
.input-field--mixed .col {
  max-width: 33px;
  gap: 8px;
}
.input-field--mixed .col > .input-field__input:first-child {
  padding-bottom: 8px;
  border-bottom: 1px solid #374151;
}
.input-field--mixed-only {
  justify-content: center;
}
.input-field--mixed-only .input-field__input {
  --fontStep: 12px;
  --maxWidth: var(--fontStep);
  max-width: var(--maxWidth);
  min-width: 12px;
  width: auto;
}
.input-field--mixed-only .col {
  align-items: center;
}
.input-field--mixed-only .col .input-field__input:first-child {
  max-width: 100%;
}
.input-field--gray {
  background: #F3F4F6;
}
.input-field--ratio {
  gap: 2px;
}
.input-field--border-radius-bl-none {
  border-bottom-left-radius: 0 !important;
}
.input-field--border-radius-bl-none::after {
  border-bottom-left-radius: 0 !important;
}
.input-field--border-radius-br-none {
  border-bottom-right-radius: 0 !important;
}
.input-field--border-radius-br-none::after {
  border-bottom-right-radius: 0 !important;
}
.input-field--border-radius-tl-none {
  border-top-left-radius: 0 !important;
}
.input-field--border-radius-tl-none::after {
  border-top-left-radius: 0 !important;
}
.input-field--border-radius-tr-none {
  border-top-right-radius: 0 !important;
}
.input-field--border-radius-tr-none::after {
  border-top-right-radius: 0 !important;
}
.input-field--buttons {
  flex-direction: column;
  padding: 4px 0px;
  margin-top: -1px;
  max-height: 188px;
  gap: 0px;
}
.input-field--full {
  height: 100%;
  min-height: 75px;
  text-align: center;
}
.input-field--full > .input-field__input--full {
  text-align: center;
}
html[dir=rtl] .input-field__text {
  text-align: right;
}
html.dark .input-field {
  background-color: #374151;
}
html.dark .input-field::after {
  border-color: #4B5563;
}
html.dark .input-field:focus-within::after {
  border-color: #FFB570;
  z-index: 1;
}
html.dark .input-field__input, html.dark .input-field__text {
  color: white;
}
html.dark .input-field__input::-moz-placeholder, html.dark .input-field__text::-moz-placeholder {
  color: #6B7280;
}
html.dark .input-field__input::placeholder, html.dark .input-field__text::placeholder {
  color: #6B7280;
}
html.dark .input-field--error::after {
  border-color: #EF4444;
}
html.dark .input-field--error > html.dark .input-field__input {
  color: #EF4444;
}
html.dark .input-field--error > html.dark .input-field__input::-moz-placeholder {
  color: #EF4444;
}
html.dark .input-field--error > html.dark .input-field__input::placeholder {
  color: #EF4444;
}
html.dark .input-field--fraction .input-field__input {
  border-color: #4B5563;
}
html.dark .input-field--mixed .input-field__input {
  border-color: #6B7280;
}
html.dark .input-field--mixed .col > .input-field__input:first-child {
  border-color: #6B7280;
}

.input-hints__hint {
  color: #6B7280;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
}
.input-hints__hint:not(.input-hints__hint--comma) {
  cursor: pointer;
}
.input-hints__hint:not(.input-hints__hint--comma):hover {
  color: #111827;
}
.input-hints__hint--comma {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-right: 2px;
}
html.dark .input-hints__hint {
  color: #9CA3AF;
}
html.dark .input-hints__hint:not(html.dark .input-hints__hint--comma) {
  cursor: pointer;
}
html.dark .input-hints__hint:not(html.dark .input-hints__hint--comma):hover {
  color: #D1D5DB;
}

.input-wrapper {
  align-items: flex-end;
}
.input-wrapper .row {
  width: 100%;
}
.input-wrapper.row:has(.input-hints) > .input:not(:has(.input-hints)) {
  padding-bottom: 20px;
}
.input-wrapper--none-title .input {
  padding-top: 0;
}
.input-wrapper--holidays .input:first-child {
  max-width: 100%;
}
.input-wrapper--holidays .input:nth-child(2),
.input-wrapper--holidays .input:nth-child(3) {
  max-width: 55px;
}
.input-wrapper--holidays .input:nth-child(4) {
  max-width: 38px;
}
.input-wrapper--grade .input:first-child {
  max-width: 100%;
}
.input-wrapper--grade .input:nth-child(2) {
  max-width: 62px;
}
.input-wrapper--grade .input:nth-child(3) {
  max-width: 69px;
}
.input-wrapper--grade .input:nth-child(4) {
  max-width: 38px;
}
.input-wrapper--gpa .input:first-child {
  max-width: 100%;
}
.input-wrapper--gpa .input:nth-child(2) {
  max-width: 55px;
}
.input-wrapper--gpa .input:nth-child(3), .input-wrapper--gpa .input:nth-child(4), .input-wrapper--gpa .input:nth-child(5) {
  max-width: 76px;
}
.input-wrapper--gpa .input:last-child {
  max-width: 38px;
}
.input-wrapper--holidays .input:not(:first-child) .input__title, .input-wrapper--grade .input:not(:first-child) .input__title, .input-wrapper--gpa .input:not(:first-child) .input__title {
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.input-wrapper--work-hours-calculator {
  gap: 0.25rem;
}
.input-wrapper--work-hours-calculator .input:first-child,
.input-wrapper--work-hours-calculator .input:nth-child(2) {
  max-width: 100%;
  width: 100%;
}
.input-wrapper--work-hours-calculator .input:nth-child(3) {
  max-width: 64px;
}
.input-wrapper--work-hours-calculator .input:nth-child(4) {
  max-width: 38px;
}
.input-wrapper--metronome .button-switcher {
  border-radius: 0 !important;
}
.input-wrapper--metronome .button-switcher::after {
  border-radius: 0 !important;
}
.input-wrapper--metronome .row:first-child .col:first-child .button-switcher {
  border-top-left-radius: 6px !important;
}
.input-wrapper--metronome .row:first-child .col:first-child .button-switcher::after {
  border-top-left-radius: 6px !important;
}
.input-wrapper--metronome .row:first-child .col:last-child .button-switcher {
  border-top-right-radius: 6px !important;
}
.input-wrapper--metronome .row:first-child .col:last-child .button-switcher::after {
  border-top-right-radius: 6px !important;
}
.input-wrapper--metronome .row:last-child .col:first-child .button-switcher {
  border-bottom-left-radius: 6px !important;
}
.input-wrapper--metronome .row:last-child .col:first-child .button-switcher::after {
  border-bottom-left-radius: 6px !important;
}
.input-wrapper--metronome .row:last-child .col:last-child .button-switcher {
  border-bottom-right-radius: 6px !important;
}
.input-wrapper--metronome .row:last-child .col:last-child .button-switcher::after {
  border-bottom-right-radius: 6px !important;
}
.input-wrapper--bpm .input:nth-child(2), .input-wrapper--bpm .input:nth-child(3) {
  max-width: 38px;
}
.input-wrapper--bpm .input:nth-child(2) .input-hints, .input-wrapper--bpm .input:nth-child(3) .input-hints {
  height: 16px;
}
.input-wrapper--bpm .input:nth-child(2) .button-switcher, .input-wrapper--bpm .input:nth-child(3) .button-switcher {
  height: 38px;
}
.input-wrapper--bpm .input:nth-child(2) .button-switcher__text, .input-wrapper--bpm .input:nth-child(3) .button-switcher__text {
  height: 16px;
}
.input-wrapper--square {
  display: flex;
  gap: 8px;
  align-items: center;
}
.input-wrapper--square > .input-field__hint {
  color: #111827;
}
html.dark .input-wrapper--square > .input-field__hint {
  color: white;
}
.input-wrapper--square .input-field {
  border-radius: 0 !important;
  padding: 8px 12px;
  background: #F9FAFB;
}
.input-wrapper--square .input-field::after {
  border-radius: 0 !important;
  border: 0;
  box-shadow: none;
  border-bottom: 1px solid #D1D5DB;
  width: 100%;
  left: 0;
}
.input-wrapper--stretch {
  align-items: stretch;
}
.input-wrapper--separator .input {
  max-width: calc(50% - 19px);
}
.input-wrapper.disabled {
  opacity: 0.3;
  pointer-events: none;
}

.input-wrapper.row:not(:has(> .input:not(:first-child) > .input__title:not(:empty))) > .input:first-child:not(:last-child):has(> .input__title:not(:empty)) {
  min-width: 0;
}
.input-wrapper.row:not(:has(> .input:not(:first-child) > .input__title:not(:empty))) > .input:first-child:not(:last-child):has(> .input__title:not(:empty)) > .input__title {
  width: -moz-max-content;
  width: max-content;
  max-width: 200%;
}
.input-wrapper.row:not(:has(> .input:not(:first-child) > .input__title:not(:empty))) > .input:first-child:not(:last-child):has(> .input__title:not(:empty)):nth-last-child(3) > .input__title {
  max-width: 300%;
}
.input-wrapper.row:not(:has(> .input:not(:first-child) > .input__title:not(:empty))) > .input:first-child:not(:last-child):has(> .input__title:not(:empty)):nth-last-child(n+4) > .input__title {
  max-width: 400%;
}

.input {
  gap: 4px;
  width: 100%;
  position: relative;
}
.input:first-child .input-field,
.input:first-child .button-switcher {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.input:first-child .input-field::after,
.input:first-child .button-switcher::after {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.input:last-child .input-field,
.input:last-child .button-switcher {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.input:last-child .input-field::after,
.input:last-child .button-switcher::after {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.input.disabled, .input .disabled {
  opacity: 0.3;
  pointer-events: none;
}
.input.input-field--pointer-events-none {
  pointer-events: none;
}
.input__title {
  left: 0;
  top: 0;
  position: relative;
  color: #374151;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  min-height: 20px;
  white-space: normal;
  width: 100%;
}
.input__title--work-hours-calculator {
  position: relative;
  color: #ED7400;
}
.input--abv {
  max-width: 62px;
}
.input--separator {
  max-width: 52px;
  width: auto;
  min-width: 38px;
}
.input--full {
  height: 100%;
  min-height: 75px;
}
html[dir=rtl] .input select.input-field__text,
html[dir=rtl] .input select.input-field__text option {
  unicode-bidi: plaintext;
}
html[dir=rtl] .input:first-child .input-field,
html[dir=rtl] .input:first-child .button-switcher {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
html[dir=rtl] .input:first-child .input-field::after,
html[dir=rtl] .input:first-child .button-switcher::after {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
html[dir=rtl] .input:last-child .input-field,
html[dir=rtl] .input:last-child .button-switcher {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
html[dir=rtl] .input:last-child .input-field::after,
html[dir=rtl] .input:last-child .button-switcher::after {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
html[dir=rtl] .input:first-child:not(:last-child) .input-field,
html[dir=rtl] .input:first-child:not(:last-child) .button-switcher {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
html[dir=rtl] .input:first-child:not(:last-child) .input-field::after,
html[dir=rtl] .input:first-child:not(:last-child) .button-switcher::after {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
html[dir=rtl] .input:last-child:not(:first-child) .input-field,
html[dir=rtl] .input:last-child:not(:first-child) .button-switcher {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
html[dir=rtl] .input:last-child:not(:first-child) .input-field::after,
html[dir=rtl] .input:last-child:not(:first-child) .button-switcher::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
html[dir=rtl] .input__title {
  left: auto;
  right: 0;
}
html.dark .input__title {
  color: #D1D5DB;
}
html.dark .input__title--work-hours-calculator {
  color: #ED7400;
}

.system-item-hidden,
.hidden {
  display: none !important;
  display: none !important;
}

.input-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.5rem 1rem;
  text-align: left;
}
.input-button.selected {
  font-weight: 600;
}
.input-button:hover {
  background: #F3F4F6;
}
html.dark .input-button {
  color: white;
}
html.dark .input-button:hover {
  background: #4B5563;
}

@media only screen and (max-width: 767px) {
  .input-field__input.input-field__input:not(.input-field__input--full),
  .dropdown-select.dropdown-select {
    font-size: 16px;
  }
}
.checkbox {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.checkbox__input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.checkbox__box {
  position: relative;
  background-color: #E5E7EB;
  min-width: 44px;
  width: 44px;
  max-width: 44px;
  height: 24px;
  border-radius: 12px;
  transition: 0.3s ease;
}
.checkbox__box::after {
  content: "";
  transition: 0.3s ease;
  display: block;
  background-color: white;
  border-radius: 50%;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.06), 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 2px;
  top: 2px;
  width: 20px;
  height: 20px;
}
.checkbox__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #374151;
}
.checkbox__input:checked + .checkbox__box {
  background-color: #ED7400;
}
.checkbox__input:checked + .checkbox__box::after {
  left: 22px;
}
html[dir=rtl] .checkbox__box::after {
  left: auto;
  right: 2px;
}
html[dir=rtl] .checkbox__input:checked + html[dir=rtl] .checkbox__box {
  left: auto;
  right: 22px;
}
html.dark .checkbox__box {
  background-color: #4B5563;
}
html.dark .checkbox__title {
  color: #D1D5DB;
}

.numpad {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 55;
  background: white;
  border-top: 1px solid #E5E7EB;
  box-shadow: 0 -4px 16px rgba(17, 24, 39, 0.08);
  padding: 8px 28px calc(8px + env(safe-area-inset-bottom)) 8px;
  transform: translateY(100%);
  visibility: hidden;
  transition: transform 0.35s ease, visibility 0s 0.35s;
}
html.numpad-open .numpad {
  transform: none;
  visibility: visible;
  transition: transform 0.35s ease;
}
.numpad__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  max-width: 480px;
  margin: 0 auto 6px;
}
.numpad__nav--system {
  grid-template-columns: 1fr 1.5fr 1.5fr;
}
.numpad__nav-key {
  flex: 1;
  height: 36px;
  border-radius: 8px;
  background: #F3F4F6;
  color: #111827;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  min-width: 0;
  -webkit-tap-highlight-color: transparent;
}
.numpad__nav-key svg {
  flex-shrink: 0;
  color: inherit;
}
.numpad__nav-key svg * {
  color: inherit;
}
.numpad__nav-key:active {
  background: #E5E7EB;
}
.numpad__nav-key--off {
  opacity: 0.35;
}
.numpad__nav-label {
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  color: #6B7280;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.numpad__nav-key--system {
  padding: 4px;
  gap: 0;
  background: #E5E7EB;
}
.numpad__system-seg {
  flex: 1;
  height: 100%;
  transition: flex-grow 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.numpad__system-seg svg path {
  stroke: #6B7280;
}
.numpad__system-seg--active {
  background: white;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(17, 24, 39, 0.25);
}
.numpad__system-seg--active svg path {
  stroke: #111827;
}
.numpad__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  max-width: 480px;
  margin: 0 auto;
}
.numpad--nominus .numpad__key[data-numpad-key="-"] {
  display: none;
}
.numpad--nominus .numpad__key[data-numpad-key="0"] {
  grid-column: span 2;
}
.numpad--nodot .numpad__key[data-numpad-key="."] {
  display: none;
}
.numpad--nodot .numpad__key[data-numpad-key=hide] {
  grid-row: span 2;
  height: auto;
}
.numpad__key {
  height: 52px;
  border-radius: 8px;
  background: #F3F4F6;
  color: #111827;
  font-size: 1.25rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.numpad__key:active {
  background: #E5E7EB;
}
.numpad__key[data-numpad-key="-"], .numpad__key[data-numpad-key="."] {
  font-size: 1.75rem;
}
.numpad__key--muted {
  background: #E5E7EB;
}
.numpad__key--muted:active {
  background: #D1D5DB;
}
.numpad__key svg,
.numpad__key svg * {
  color: inherit;
}
.numpad__key--done {
  grid-column: span 2;
  background: #ED7400;
  color: white;
  font-size: 1rem;
  font-weight: 600;
}
.numpad__key--done:active {
  background: #C55F00;
}
html.dark .numpad {
  background: #1F2937;
  border-top-color: #4B5563;
}
html.dark .numpad__nav-key {
  background: #374151;
  color: white;
}
html.dark .numpad__nav-key:active {
  background: #4B5563;
}
html.dark .numpad__nav-label {
  color: #9CA3AF;
}
html.dark .numpad__nav-key--system {
  background: #4B5563;
}
html.dark .numpad__system-seg svg path {
  stroke: #9CA3AF;
}
html.dark .numpad__system-seg--active {
  background: #9CA3AF;
}
html.dark .numpad__system-seg--active svg path {
  stroke: #111827;
}
html.dark .numpad__key {
  background: #374151;
  color: white;
}
html.dark .numpad__key:active {
  background: #4B5563;
}
html.dark .numpad__key--muted {
  background: #4B5563;
}
html.dark .numpad__key--muted:active {
  background: #6B7280;
}
html.dark .numpad__key--done {
  background: #ED7400;
  color: white;
}

label.input,
.input-field,
.input-field__input {
  -webkit-tap-highlight-color: transparent;
}

html.numpad-open body {
  padding-bottom: 340px;
}

#action-button {
  transition: opacity 0.25s ease, visibility 0s;
}

html.numpad-open #action-button {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0s 0.25s;
}

html.numpad-open .calculator-form-peek {
  z-index: 56;
}
html.numpad-open #result-drawer.calculator-results {
  z-index: 60;
}
html.numpad-open .calculator-drawer-backdrop {
  z-index: 59;
}
html.numpad-open .calculator-drawer-bottomad {
  visibility: hidden !important;
}
html.numpad-open .calculator-drawer-topad {
  z-index: 61;
}

.dropdown-wrapper {
  position: relative;
}
.dropdown-wrapper--active .dropdown-content {
  max-height: 238px;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.dropdown-wrapper .input-field {
  padding: 0;
}
.dropdown-wrapper .input-field__text {
  padding: 9px 33px 9px 13px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.dropdown-wrapper .input-field__text--icon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.dropdown-wrapper .input-field__text--icon svg {
  width: 20px;
  height: 20px;
}
.dropdown-wrapper .input-field::before {
  content: "";
  position: absolute;
  right: 13px;
  top: 9px;
  display: block;
  width: 20px;
  height: 20px;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.29289 7.29289C5.68342 6.90237 6.31658 6.90237 6.7071 7.29289L9.99999 10.5858L13.2929 7.29289C13.6834 6.90237 14.3166 6.90237 14.7071 7.29289C15.0976 7.68342 15.0976 8.31658 14.7071 8.70711L10.7071 12.7071C10.3166 13.0976 9.68341 13.0976 9.29289 12.7071L5.29289 8.70711C4.90237 8.31658 4.90237 7.68342 5.29289 7.29289Z' fill='%239CA3AF'%3E%3C/path%3E%3C/svg%3E");
}
.dropdown-wrapper select {
  cursor: pointer;
}

.dropdown-content {
  position: absolute;
  top: 100%;
  z-index: 20;
  min-width: calc(100% + 1px);
  max-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 0.375rem;
  border: 1px solid #D1D5DB;
  border-top-width: 0;
  border-bottom-width: 0;
  background-color: white;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  transition: 0.15s linear;
}
html.dark .dropdown-content {
  background-color: #374151;
  border-color: #4B5563;
}

.dropdown-select {
  display: flex;
  width: 100%;
  cursor: pointer;
  white-space: nowrap;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #6B7280;
  transition: 0.15s linear;
  align-items: center;
  gap: 0.5rem;
}
.dropdown-select:hover {
  background-color: #F3F4F6;
}
.dropdown-select--selected {
  font-weight: 600;
  color: #111827;
}
.dropdown-select--hidden {
  display: none;
}
html.dark .dropdown-select {
  color: white;
  background-color: #374151;
}
html.dark .dropdown-select:hover {
  background-color: #4B5563;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

.modal-menu {
  right: -100%;
  transition: right 0.3s;
  height: 100%;
  position: fixed;
  top: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  max-width: 272px;
  width: 100%;
  background: white;
}
.modal-menu__nav {
  gap: 0.25rem;
  padding: 1rem 0.5rem;
}
.modal-menu__link {
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #374151;
}
.modal-menu__link--active {
  color: #FF8802;
}
.modal-menu__header {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #E5E7EB;
}
.modal-menu__header a {
  height: 38px;
}
.modal-menu--active {
  right: 0;
}
html.dark .modal-menu {
  background: #374151;
}
html.dark .modal-menu__link {
  color: white;
}
html.dark .modal-menu__link--active {
  color: #FF8802;
}
html.dark .modal-menu__header {
  border-color: #4B5563;
}

.modal-search {
  transition: transform 0.3s, opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  left: 50%;
  transform: translateX(-50%) scale(0.5);
  position: fixed;
  top: 1rem;
  z-index: 50;
  width: 100%;
  max-width: 344px;
}
.modal-search__container {
  background: white;
  border-radius: 1.5rem;
  border: 1px solid #E5E7EB;
  overflow: hidden;
}
.modal-search__label {
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-search__input {
  width: 100%;
  font-size: 1rem;
  padding: 1rem;
  padding-right: 3.25rem;
  line-height: 1.5rem;
  color: #111827;
}
.modal-search__input::-moz-placeholder {
  color: #6B7280;
}
.modal-search__input::placeholder {
  color: #6B7280;
}
html[dir=rtl] .modal-search__input {
  padding-left: 3.25rem;
  padding-right: 1rem;
}
.modal-search__button {
  width: 1.25rem;
  height: 1.25rem;
  position: absolute;
  top: 18px;
  right: 1rem;
}
html[dir=rtl] .modal-search__button {
  right: auto;
  left: 1rem;
}
.modal-search__list {
  display: flex;
  flex-direction: column;
  overflow: auto;
  width: 100%;
  transition-property: max-height, padding-top, padding-bottom;
  transition-duration: 0.3s;
  height: 100%;
  border-top: 0px solid #E5E7EB;
  padding: 0rem;
  max-height: 0;
}
.modal-search__list--active {
  border-top-width: 1px;
  min-height: 0;
  padding: 0.75rem 0rem;
  max-height: 300px;
}
.modal-search__list--error {
  background: #F9FAFB;
  max-height: 240px;
  padding: 4.5rem 3.5rem;
  overflow: hidden;
}
.modal-search__list--error .modal-search__error {
  opacity: 1;
  position: relative;
  transition: opacity 0.3s;
}
.modal-search__error {
  gap: 0.75rem;
  opacity: 0;
  position: absolute;
  pointer-events: none;
}
.modal-search__title-error {
  font-size: 1rem;
  line-height: 1.5rem;
  text-align: center;
  font-weight: 600;
  color: #111827;
}
.modal-search__subtitle-error {
  font-size: 0.875rem;
  left: 1.25rem;
  color: #6B7280;
  text-align: center;
}
.modal-search--active {
  transform: translateX(-50%) scale(1);
  opacity: 1;
  pointer-events: auto;
}
@media only screen and (min-width: 768px) {
  .modal-search {
    top: 8rem;
    max-width: 576px;
  }
  .modal-search__list--error {
    padding-top: 82px;
    padding-bottom: 82px;
  }
}
html.dark .modal-search__container {
  background: #374151;
  border-color: #4B5563;
}
html.dark .modal-search__input {
  color: white;
}
html.dark .modal-search__list {
  border-color: #4B5563;
}
html.dark .modal-search__list--error {
  background: #374151;
}
html.dark .modal-search__title-error {
  color: white;
}

.modal-search-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1.5rem;
  gap: 0.75rem;
}
.modal-search-item:hover, .modal-search-item:focus {
  background: #F9FAFB;
}
.modal-search-item__img {
  width: 2.5rem;
  height: 2.5rem;
}
.modal-search-item__text {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #374151;
}
html.dark .modal-search-item__text {
  color: white;
}
html.dark .modal-search-item:hover, html.dark .modal-search-item:focus {
  background: #4B5563;
}

.modal-share {
  transform: scale(0.5) translateX(-50%);
  opacity: 0;
  transition-property: scale, opacity;
  transition-duration: 0.3s;
  top: 4rem;
  left: 50%;
  position: fixed;
  z-index: 50;
  max-width: 344px;
  width: 100%;
  pointer-events: none;
}
.modal-share__container {
  display: flex;
  background-color: #fff;
  padding: 1.5rem 2rem 2rem;
  border-start-start-radius: 0.5rem;
  border-start-end-radius: 0.5rem;
  flex-direction: column;
  gap: 0.75rem;
}
.modal-share__footer {
  display: flex;
  border-end-start-radius: 0.5rem;
  border-end-end-radius: 0.5rem;
  justify-content: flex-end;
  padding: 0.75rem 2rem;
  border-top: 1px solid #E5E7EB;
  background-color: #F9FAFB;
  gap: 0.75rem;
}
.modal-share__header {
  display: flex;
  gap: 0.75rem;
}
.modal-share__button {
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  transition: 0.15s linear;
}
.modal-share__button--active {
  background: #F3F4F6;
  color: #ED7400;
}
.modal-share__textarea {
  display: block;
  padding: 0.5rem 0.75rem;
  line-height: 1.5rem;
  font-size: 1rem;
  color: #111827;
  width: 100%;
  min-height: 104px;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  resize: vertical;
}
.modal-share__content {
  display: none;
}
.modal-share__content--active {
  display: block;
}
.modal-share__preview {
  padding-top: 15px;
  color: #ED7400;
  cursor: pointer;
}
.modal-share--active {
  opacity: 1;
  transform: translateX(-50%) scale(1);
  pointer-events: auto;
}
@media only screen and (min-width: 768px) {
  .modal-share {
    max-width: 512px;
    top: 8rem;
  }
}
html.dark .modal-share__container {
  background: #374151;
}
html.dark .modal-share__footer {
  background: #4B5563;
  border-top: 0;
}
html.dark .modal-share__button--active {
  background-color: #4B5563;
  color: white;
}
html.dark .modal-share__textarea {
  color: white;
  border-color: #4B5563;
}
html.dark .modal-share__preview {
  color: #FF9838;
}

.modal-window {
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 50;
  transition: backdrop 0.3s, opacity 0.3s;
  pointer-events: none;
  opacity: 0;
}
.modal-window--active {
  background: rgba(17, 24, 39, 0.1607843137);
  opacity: 1 !important;
  pointer-events: auto !important;
  backdrop-filter: blur(4px);
}

#action-button.button {
  font-size: 16px;
}

.button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.3s ease;
  position: relative;
  overflow: hidden;
}
.button:disabled {
  opacity: 0.5;
  cursor: default;
}
.button--icon {
  padding: 0;
}
.button--primary, .button--copy {
  background-color: #ED7400;
  border: 1px solid #ED7400;
  color: white;
  font-weight: 600;
}
.button--primary:hover:not(:disabled):not(:active), .button--copy:hover:not(:disabled):not(:active) {
  background-color: #C55F00;
}
.button--primary:active, .button--copy:active {
  transition: 0s;
  background-color: #FF8802;
  border-color: #FF8802;
}
.button--copy {
  height: 42px;
}
.button--copy-active {
  background: #176434;
  border-color: #176434;
}
.button--copy-active:hover:not(:disabled):not(:active) {
  background: #064E3B;
  border-color: #064E3B;
}
.button--copy-active:active {
  transition: 0s;
  background-color: #10B981;
  border-color: #10B981;
}
.button--secondary {
  height: 42px;
  border: 1px solid #D1D5DB;
  color: #374151;
  background-color: #fff;
}
.button--white {
  background-color: #fff;
  color: #374151;
  border: 1px solid #D1D5DB;
}
.button--white:hover:not(:disabled) {
  background-color: #F9FAFB;
}
html.dark .button--white {
  color: white;
  background: #4B5563;
  border-color: #6B7280;
}
html.dark .button--white:hover {
  background-color: #374151;
}
.button--about {
  height: 50px;
  padding-left: 25px;
  padding-right: 25px;
  max-width: 104px;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-right: auto;
}
.button--pale {
  background: #FFE8CC;
  color: #C55F00;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0509803922);
}
html.dark .button--icon path[fill] {
  fill: #374151;
}
html.dark .button--secondary {
  border-color: #6B7280;
  color: white;
  background: transparent;
}

.calculator-content--basic,
.calculator-content--scientific {
  gap: 0;
}
.calculator-content--basic button:not(.button-switcher),
.calculator-content--scientific button:not(.button-switcher) {
  width: 25%;
  border-radius: 0.375rem;
  border-width: 1px;
  border-style: solid;
  border-color: #D1D5DB;
  background-color: white;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  line-height: 1;
  color: #111827;
  cursor: pointer;
}
.calculator-content--basic button:not(.button-switcher).tab--active,
.calculator-content--scientific button:not(.button-switcher).tab--active {
  display: block;
}
.calculator-content--basic button:not(.button-switcher):hover,
.calculator-content--scientific button:not(.button-switcher):hover {
  background-color: #F3F4F6;
}
.calculator-content--basic button:not(.button-switcher):active,
.calculator-content--scientific button:not(.button-switcher):active {
  background-color: #E5E7EB;
}
.calculator-content--basic button:not(.button-switcher).long,
.calculator-content--scientific button:not(.button-switcher).long {
  width: calc(50% + 4px);
}
.calculator-content--basic button:not(.button-switcher).indigo,
.calculator-content--scientific button:not(.button-switcher).indigo {
  background-color: #ED7400;
  color: white;
}
.calculator-content--basic button:not(.button-switcher).indigo:hover,
.calculator-content--scientific button:not(.button-switcher).indigo:hover {
  background-color: #C55F00;
}
.calculator-content--basic button:not(.button-switcher).indigo:active,
.calculator-content--scientific button:not(.button-switcher).indigo:active {
  background-color: #9E4C00;
}
.calculator-content--basic button:not(.button-switcher).action,
.calculator-content--scientific button:not(.button-switcher).action {
  border-color: #FFD1A3;
  background-color: #FFF5E9;
}
.calculator-content--basic button:not(.button-switcher).action:hover,
.calculator-content--scientific button:not(.button-switcher).action:hover {
  background-color: #FFE8CC;
}
.calculator-content--basic button:not(.button-switcher).action:active,
.calculator-content--scientific button:not(.button-switcher).action:active {
  background-color: #FFD1A3;
}
.calculator-content--basic button:not(.button-switcher).action-dark,
.calculator-content--scientific button:not(.button-switcher).action-dark {
  border-color: #FFD1A3;
  background-color: #FFF5E9;
}
.calculator-content--basic button:not(.button-switcher).action-dark:hover,
.calculator-content--scientific button:not(.button-switcher).action-dark:hover {
  background-color: #FFE8CC;
}
.calculator-content--basic button:not(.button-switcher).action-dark:active,
.calculator-content--scientific button:not(.button-switcher).action-dark:active {
  background-color: #FFD1A3;
}
.calculator-content--basic button:not(.button-switcher).basic-button--active,
.calculator-content--scientific button:not(.button-switcher).basic-button--active {
  border-color: #ED7400;
}
.calculator-content--basic button:not(.button-switcher).purple,
.calculator-content--scientific button:not(.button-switcher).purple {
  height: 50px;
  border-color: #C4B5FD;
  background-color: #EDE9FE;
  padding-top: 0px;
  padding-bottom: 0px;
  color: #4C1D95;
}
.calculator-content--basic button:not(.button-switcher).purple:hover,
.calculator-content--scientific button:not(.button-switcher).purple:hover {
  background-color: #DDD6FE;
}
.calculator-content--basic button:not(.button-switcher).purple:active,
.calculator-content--scientific button:not(.button-switcher).purple:active {
  background-color: #C4B5FD;
}
.calculator-content--basic button:not(.button-switcher).basic-button--active.purple,
.calculator-content--scientific button:not(.button-switcher).basic-button--active.purple {
  border-color: #7C3AED;
}
.calculator-content--basic button:not(.button-switcher).gray,
.calculator-content--scientific button:not(.button-switcher).gray {
  height: 50px;
  border-color: #D1D5DB;
  background-color: #F9FAFB;
  padding-top: 0px;
  padding-bottom: 0px;
  color: #111827;
}
.calculator-content--basic button:not(.button-switcher).gray:hover,
.calculator-content--scientific button:not(.button-switcher).gray:hover {
  background-color: #E5E7EB;
}
.calculator-content--basic button:not(.button-switcher).gray:active,
.calculator-content--scientific button:not(.button-switcher).gray:active {
  background-color: #D1D5DB;
}
.calculator-content--basic button:not(.button-switcher).gray-main,
.calculator-content--scientific button:not(.button-switcher).gray-main {
  height: 50px;
  border-color: #D1D5DB;
  background-color: #F9FAFB;
  padding-top: 0px;
  padding-bottom: 0px;
  color: #111827;
}
.calculator-content--basic button:not(.button-switcher).gray-main:hover,
.calculator-content--scientific button:not(.button-switcher).gray-main:hover {
  background-color: #E5E7EB;
}
.calculator-content--basic button:not(.button-switcher).gray-main:active,
.calculator-content--scientific button:not(.button-switcher).gray-main:active {
  background-color: #D1D5DB;
}
.calculator-content--basic button:not(.button-switcher).big,
.calculator-content--scientific button:not(.button-switcher).big {
  height: 66px;
}
.calculator-content--basic button:not(.button-switcher).small,
.calculator-content--scientific button:not(.button-switcher).small {
  height: 46px;
}
.calculator-content--basic button:not(.button-switcher).text-xl,
.calculator-content--scientific button:not(.button-switcher).text-xl {
  font-size: 1.25rem;
}
.calculator-content--basic button:not(.button-switcher).text-2xl,
.calculator-content--scientific button:not(.button-switcher).text-2xl {
  font-size: 1.5rem;
}
html.dark .calculator-content--basic button:not(.button-switcher),
html.dark .calculator-content--scientific button:not(.button-switcher) {
  border-color: #6B7280;
  background-color: #4B5563;
  color: white;
}
html.dark .calculator-content--basic button:not(.button-switcher):active, html.dark .calculator-content--basic button:not(.button-switcher):hover,
html.dark .calculator-content--scientific button:not(.button-switcher):active,
html.dark .calculator-content--scientific button:not(.button-switcher):hover {
  background-color: #374151;
}
html.dark .calculator-content--basic button:not(.button-switcher).indigo,
html.dark .calculator-content--scientific button:not(.button-switcher).indigo {
  border-color: #9E4C00;
  background-color: #9E4C00;
}
html.dark .calculator-content--basic button:not(.button-switcher).indigo:active, html.dark .calculator-content--basic button:not(.button-switcher).indigo:hover,
html.dark .calculator-content--scientific button:not(.button-switcher).indigo:active,
html.dark .calculator-content--scientific button:not(.button-switcher).indigo:hover {
  border-color: #FFB570;
  background-color: #9E4C00;
}
html.dark .calculator-content--basic button:not(.button-switcher).action,
html.dark .calculator-content--scientific button:not(.button-switcher).action {
  border-color: #C55F00;
  background-color: #C55F00;
}
html.dark .calculator-content--basic button:not(.button-switcher).action:active, html.dark .calculator-content--basic button:not(.button-switcher).action:hover,
html.dark .calculator-content--scientific button:not(.button-switcher).action:active,
html.dark .calculator-content--scientific button:not(.button-switcher).action:hover {
  border-color: #FFB570;
  background-color: #C55F00;
}
html.dark .calculator-content--basic button:not(.button-switcher).action-dark,
html.dark .calculator-content--scientific button:not(.button-switcher).action-dark {
  border-color: #4B5563;
  background-color: #1F2937;
}
html.dark .calculator-content--basic button:not(.button-switcher).action-dark:active, html.dark .calculator-content--basic button:not(.button-switcher).action-dark:hover,
html.dark .calculator-content--scientific button:not(.button-switcher).action-dark:active,
html.dark .calculator-content--scientific button:not(.button-switcher).action-dark:hover {
  border-color: #D1D5DB;
  background-color: #1F2937;
}
html.dark .calculator-content--basic button:not(.button-switcher).purple,
html.dark .calculator-content--scientific button:not(.button-switcher).purple {
  border-color: #6D28D9;
  background-color: #6D28D9;
}
html.dark .calculator-content--basic button:not(.button-switcher).purple:active, html.dark .calculator-content--basic button:not(.button-switcher).purple:hover,
html.dark .calculator-content--scientific button:not(.button-switcher).purple:active,
html.dark .calculator-content--scientific button:not(.button-switcher).purple:hover {
  border-color: #C4B5FD;
  background-color: #6D28D9;
}
html.dark .calculator-content--basic button:not(.button-switcher).gray,
html.dark .calculator-content--scientific button:not(.button-switcher).gray {
  border-color: #6B7280;
  background-color: #4B5563;
}
html.dark .calculator-content--basic button:not(.button-switcher).gray:active, html.dark .calculator-content--basic button:not(.button-switcher).gray:hover,
html.dark .calculator-content--scientific button:not(.button-switcher).gray:active,
html.dark .calculator-content--scientific button:not(.button-switcher).gray:hover {
  background-color: #374151;
}
html.dark .calculator-content--basic button:not(.button-switcher).gray-main,
html.dark .calculator-content--scientific button:not(.button-switcher).gray-main {
  border-color: #4B5563;
  background-color: #1F2937;
}
html.dark .calculator-content--basic button:not(.button-switcher).gray-main:active, html.dark .calculator-content--basic button:not(.button-switcher).gray-main:hover,
html.dark .calculator-content--scientific button:not(.button-switcher).gray-main:active,
html.dark .calculator-content--scientific button:not(.button-switcher).gray-main:hover {
  border-color: #D1D5DB;
  background-color: #1F2937;
}
html.dark .calculator-content--basic button:not(.button-switcher).basic-button--active,
html.dark .calculator-content--scientific button:not(.button-switcher).basic-button--active {
  border: 1px solid #FF9838;
}
.calculator-content--basic .input-wrapper,
.calculator-content--scientific .input-wrapper {
  gap: 0;
  width: calc(75% + 8.66px);
}
.calculator-content--basic .input-wrapper .button-switcher,
.calculator-content--scientific .input-wrapper .button-switcher {
  height: 100%;
  box-shadow: none;
}
.calculator-content--basic .input-wrapper .button-switcher__text,
.calculator-content--scientific .input-wrapper .button-switcher__text {
  font-size: 1rem;
  line-height: 1.5rem;
}
.calculator-content--basic .input-wrapper .button-switcher::after,
.calculator-content--scientific .input-wrapper .button-switcher::after {
  box-shadow: none;
}

.calculator-content--scientific {
  gap: 0;
}
.calculator-content--scientific button:not(.button-switcher) {
  font-size: 1rem;
  line-height: 1.5rem;
}
.calculator-content--scientific button:not(.button-switcher) sup {
  top: -0.5em;
  position: relative;
  line-height: 0;
  vertical-align: baseline;
}
.calculator-content--scientific button:not(.button-switcher) sub {
  bottom: -0.5em;
  position: relative;
  line-height: 0;
  vertical-align: baseline;
}

.button-switcher {
  background: white;
  position: relative;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.25rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: all 0.3s;
  z-index: 5;
}
.button-switcher::after {
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0509803922);
  content: "";
  display: block;
  border: 1px solid #D1D5DB;
  width: calc(100% - 1px);
  height: calc(100% - 2px);
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  transition: 0.3s ease;
  z-index: -1;
}
.button-switcher:not(.button-switcher--active):hover {
  background: #F9FAFB;
}
.button-switcher path[stroke] {
  stroke: #9CA3AF;
}
.button-switcher path[fill] {
  fill: #9CA3AF;
}
.button-switcher__wrapper {
  display: flex;
  width: 100%;
}
.button-switcher__text {
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: #111827;
  font-weight: 500;
}
.button-switcher--active {
  z-index: 10;
}
.button-switcher--active::after {
  border-color: #FFD1A3;
  background: #FFF5E9;
}
.button-switcher--active path[stroke] {
  stroke: #ED7400;
}
.button-switcher--active path[fill] {
  fill: #ED7400;
}
.button-switcher--active .button-switcher__text {
  color: #7A3B00;
}
.button-switcher--top {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 6px !important;
  border-top-right-radius: 6px !important;
}
.button-switcher--top::after {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 6px !important;
  border-top-right-radius: 6px !important;
}
.button-switcher--bottom {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
}
.button-switcher--bottom::after {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
}
html.dark .button-switcher {
  background: #374151;
}
html.dark .button-switcher::after {
  border-color: #4B5563;
}
html.dark .button-switcher:not(.button-switcher--active):hover {
  background: #4B5563;
}
html.dark .button-switcher path[stroke] {
  stroke: #6B7280;
}
html.dark .button-switcher path[fill] {
  fill: #6B7280;
}
html.dark .button-switcher__text {
  color: #6B7280;
}
html.dark .button-switcher--active::after {
  border-color: #6B7280;
  background: #4B5563;
}
html.dark .button-switcher--active path[stroke] {
  stroke: white;
}
html.dark .button-switcher--active path[fill] {
  fill: white;
}
html.dark .button-switcher--active .button-switcher__text {
  color: white;
}

.tab-item {
  width: 100%;
  padding: 20px 0px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  position: relative;
  color: #6B7280;
  cursor: pointer;
}
html.dark .tab-item {
  color: #9CA3AF;
}
.tab-item svg {
  pointer-events: none;
}
.tab-item svg path[fill] {
  fill: #E5E7EB;
}
.tab-item svg path[stroke] {
  stroke: #9CA3AF;
}
html.dark .tab-item svg path[fill] {
  fill: #9CA3AF;
}
html.dark .tab-item svg path[stroke] {
  stroke: #D1D5DB;
}
.tab-item::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  bottom: -1px;
  background-color: #ED7400;
}
.tab-item--active {
  color: #ED7400;
}
.tab-item--active::after {
  height: 2px;
  background-color: #ED7400;
}
.tab-item--active svg path[fill] {
  fill: #FFE8CC;
}
.tab-item--active svg path[stroke] {
  stroke: #ED7400;
}
html.dark .tab-item--active svg path[fill] {
  fill: #FF9838;
}
html.dark .tab-item--active svg path[stroke] {
  stroke: #FFB570;
}

.system-switcher {
  margin: auto 0;
  gap: 7px;
  height: 1.5rem;
  width: 43px;
  border-radius: 0.75rem;
  transition: all 0.15s;
  padding: 6px;
  display: flex;
  background: #ED7400;
  position: relative;
  cursor: pointer;
}
.system-switcher svg {
  position: relative;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 1;
}
.system-switcher svg:nth-child(2) path {
  stroke: #9CA3AF;
}
.system-switcher svg:nth-child(3) path {
  stroke: white;
}
.system-switcher__circle {
  border-radius: 50%;
  background: white;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  width: 1.25rem;
  height: 1.25rem;
  position: absolute;
  top: 0.125rem;
  left: 0.125rem;
  transition: 0.3s ease;
}
.system-switcher--active .system-switcher__circle {
  left: 21px;
}
.system-switcher--active svg:nth-child(2) path {
  stroke: white;
}
.system-switcher--active svg:last-child path {
  stroke: #9CA3AF;
}
.system-switcher--format {
  padding: 4px 5px;
  gap: 6px;
}
html[dir=rtl] .system-switcher__circle {
  right: 0.125rem;
  left: auto;
}
html[dir=rtl] .system-switcher--active .system-switcher__circle {
  right: 21px;
  left: auto;
}

.header {
  background: white;
  position: relative;
  z-index: 1;
}
.header__container {
  padding: 0px 16px;
}
@media only screen and (min-width: 1024px) {
  .header__container {
    padding: 0px 32px;
  }
}
.header--main {
  background: #1F2937;
}
.header:not(.header--main) {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
.header:not(.header--main) .header-controller path[stroke],
.header:not(.header--main) .header-button path[stroke] {
  stroke: #9CA3AF;
}
.header:not(.header--main) .header-controller path[fill],
.header:not(.header--main) .header-button path[fill] {
  fill: #9CA3AF;
}
.header:not(.header--main) .header-lang__lang {
  color: #6B7280;
}
html.dark .header {
  background: #1F2937;
}

.header-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 38px;
  gap: 40px;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .header-nav {
    margin-right: 4px;
  }
}
.header-nav__logo {
  min-height: 38px;
  max-height: 38px;
  min-width: 38px;
  max-width: 38px;
}
.header-nav__link {
  border-radius: 6px;
  display: none;
  transition: 0.15s;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #6B7280;
}
@media only screen and (min-width: 1024px) {
  .header-nav__link {
    display: inline-block;
  }
}
.header-nav__link:hover {
  color: #111827;
}
.header-nav__link--main {
  color: #9CA3AF;
}
.header-nav__link--main:hover {
  color: #6B7280;
}
html.dark .header-nav__link {
  color: #9CA3AF;
}
html.dark .header-nav__link:hover {
  color: #E5E7EB;
}
html.dark .header-nav__link--main {
  color: #9CA3AF;
}
html.dark .header-nav__link--main:hover {
  color: #6B7280;
}

.header-wrapper {
  display: flex;
  flex-direction: row;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  align-items: center;
}
@media only screen and (min-width: 1024px) {
  .header-wrapper {
    padding-top: 1.125rem;
    padding-bottom: 1.125rem;
  }
}

.header-controllers {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  padding-left: 16px;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .header-controllers {
    width: auto;
  }
}
.header-controllers--close {
  height: 38px;
}

.header-controller {
  border-radius: 6px;
  cursor: pointer;
}
@media only screen and (min-width: 1024px) {
  .header-controller path[stroke] {
    stroke: #9CA3AF;
  }
  .header-controller path[fill] {
    fill: #9CA3AF;
  }
}

.header-controller-theme {
  position: relative;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.header-controller-theme--lang {
  width: 30px;
}
@media only screen and (min-width: 1024px) {
  .header-controller-theme path[stroke] {
    stroke: #9CA3AF;
  }
  .header-controller-theme path[fill] {
    fill: #9CA3AF;
  }
}

.header-popup {
  display: flex;
  overflow: auto;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  z-index: 99;
  padding: 0.25rem 0;
  background: white;
  border: 1px solid #E5E7EB;
  top: 1.75rem;
  right: 0.25rem;
  border-radius: 6px;
  position: absolute;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05), 0px 4px 6px -2px rgba(0, 0, 0, 0.05), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  max-height: 420px;
}
.header-popup--active, .header-popup.modal-theme--active, .header-popup.modal-lang--active {
  transition: 0.3s;
  opacity: 1;
  pointer-events: auto;
}
.header-popup__button {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: 0.15s;
  padding: 0.5rem 1rem;
  width: 100%;
  font-weight: 500;
  gap: 1rem;
  color: #374151;
  cursor: pointer;
}
.header-popup__button:hover {
  background: #F9FAFB;
}
.header-popup__button--active {
  color: #FF8802 !important;
}
.header-popup__button--active path[stroke] {
  stroke: #FF8802;
}
.header-popup__button--active path[fill] {
  fill: #FF8802;
}
.header-popup__divider {
  flex-shrink: 0;
  border: 0;
  border-top: 1px solid #E5E7EB;
  margin: 0.25rem 0;
}
.header-popup--main {
  background: #374151;
  border-color: #374151;
}
.header-popup--main .header-popup__button {
  color: white;
}
.header-popup--main .header-popup__button:hover {
  background: #4B5563;
}
.header-popup--main .header-popup__divider {
  border-color: #4B5563;
}
html.dark .header-popup {
  background: #374151;
  border-color: #374151;
}
html.dark .header-popup__button {
  color: white;
}
html.dark .header-popup__button:hover {
  background: #4B5563;
}
html.dark .header-popup__divider {
  border-color: #4B5563;
}

.header-button {
  padding: 0.25rem 0px 0.25rem 0.5rem;
  margin-left: 0.5rem;
}
@media only screen and (min-width: 1024px) {
  .header-button {
    margin-left: 0.25rem;
    display: none;
  }
}
.header-button--close {
  padding-left: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  margin-left: -0.5rem;
  height: 32px;
}

.header-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
  overflow: auto;
}
.header-breadcrumbs path[fill] {
  fill: #6B7280;
}
.header-breadcrumbs__separate {
  height: 1rem;
}
.header-breadcrumbs__separate svg {
  height: 1rem;
  width: auto;
}
.header-breadcrumbs__link {
  height: 1rem;
  white-space: nowrap;
}
.header-breadcrumbs__link svg {
  height: 1rem;
  width: auto;
}
.header-breadcrumbs__link--text {
  line-height: 1rem;
  font-size: 0.75rem;
  transition: 0.15s;
  color: #9CA3AF;
  font-weight: 500;
}
.header-breadcrumbs__link--text:hover {
  color: white;
}

.header-lang {
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.875em;
  line-height: 1.5rem;
  color: #9CA3AF;
  cursor: pointer;
}
@media only screen and (min-width: 1024px) {
  .header-lang {
    color: #6B7280;
  }
}
.header-lang__text {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: #9CA3AF;
}
.header-lang__text--main {
  color: white !important;
}
@media only screen and (min-width: 1024px) {
  .header-lang__text {
    color: #6B7280;
  }
}
.header-lang__select {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: #9CA3AF;
  padding: 0.5rem 1rem;
  cursor: pointer;
  transition: 0.15s;
}
@media only screen and (min-width: 1024px) {
  .header-lang__select {
    color: #6B7280;
  }
}
.header-lang__select:hover {
  background-color: #F9FAFB;
}
.header-lang__select--main {
  color: white;
}
@media only screen and (min-width: 1024px) {
  .header-lang__select--main {
    color: white;
  }
}
.header-lang__select--main:hover {
  background-color: #4B5563;
}
.header-lang__select--active {
  color: #FF8802;
}
html.dark .header-lang {
  color: white;
}
@media only screen and (min-width: 1024px) {
  html.dark .header-lang {
    color: white;
  }
}
html.dark .header-lang__text {
  color: #9CA3AF;
}
html.dark .header-lang__select {
  color: white;
}
@media only screen and (min-width: 1024px) {
  html.dark .header-lang__select {
    color: white;
  }
}
html.dark .header-lang__select:hover {
  background-color: #4B5563;
}
html.dark .header-lang__select--active {
  color: #FF8802;
}

.header .header-wrapper {
  align-items: center;
  gap: 24px;
}

.header .header-nav__logo {
  display: flex;
  align-items: center;
  width: auto;
  min-width: 0;
  max-width: none;
  height: auto;
  min-height: 0;
  max-height: none;
}
@media only screen and (min-width: 1024px) {
  .header .header-nav__logo {
    padding-right: 24px;
  }
}

.header-nav__wordmark {
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: white;
  white-space: nowrap;
  line-height: 1;
}
.header-nav__wordmark span {
  color: #FF8802;
}
@media only screen and (min-width: 1024px) {
  .header-nav__wordmark {
    font-size: 30px;
  }
}

.modal-menu__header .header-nav__wordmark {
  color: #111827;
}
html.dark .modal-menu__header .header-nav__wordmark {
  color: white;
}

@media (max-width: 1023px) {
  .header .header-controllers {
    display: none;
  }
}

.modal-menu__tools {
  margin-top: auto;
  border-top: 1px solid #E5E7EB;
  padding: 0.5rem 0.5rem 1rem;
}
.modal-menu__tools > * + * {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #E5E7EB;
}
html.dark .modal-menu__tools {
  border-color: #4B5563;
}
html.dark .modal-menu__tools > * + * {
  border-color: #4B5563;
}

.modal-menu__tool {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.625rem 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  border-radius: 6px;
}
.modal-menu__tool svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.modal-menu__tool path[stroke] {
  stroke: #6B7280;
}
.modal-menu__tool path[fill] {
  fill: #6B7280;
}
.modal-menu__tool:hover {
  background: #F9FAFB;
}
html.dark .modal-menu__tool {
  color: white;
}
html.dark .modal-menu__tool path[stroke] {
  stroke: #9CA3AF;
}
html.dark .modal-menu__tool path[fill] {
  fill: #9CA3AF;
}
html.dark .modal-menu__tool:hover {
  background: #4B5563;
}

.modal-menu__themes {
  display: flex;
  gap: 4px;
}
.modal-menu__themes .modal-menu__tool {
  flex: 1 1 0;
  min-width: 0;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 0.25rem;
}
.modal-menu__themes svg {
  width: 18px;
  height: 18px;
}
.modal-menu__themes span {
  font-size: 0.8125rem;
}

.modal-menu__langs {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 4px;
  max-height: 160px;
  overflow: auto;
  padding: 0.5rem 0.25rem 0;
}

.modal-menu__lang {
  padding: 0.375rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  border-radius: 6px;
}
.modal-menu__lang:hover {
  background: #F9FAFB;
}
.modal-menu__lang.header-lang__select--active {
  color: #FF8802;
}
html.dark .modal-menu__lang {
  color: #D1D5DB;
}
html.dark .modal-menu__lang:hover {
  background: #4B5563;
}

.header .header-controllers {
  gap: 14px;
  padding-left: 12px;
}
@media only screen and (min-width: 1024px) {
  .header .header-controllers {
    gap: 24px;
    padding-left: 16px;
  }
}

.header .header-button {
  margin-left: auto;
}

.header-center {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .header-center {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
  }
  .header-center .header-nav {
    width: auto;
    gap: 32px;
  }
}

html:not(.dark) .header .header-nav__link--active,
html.dark .header .header-nav__link--active {
  color: #FF8802;
}

.footer-breadcrumbs {
  display: flex;
  justify-content: center;
}
.footer-breadcrumbs .header-breadcrumbs {
  flex-wrap: wrap;
  justify-content: center;
  overflow: visible;
  padding: 0;
}

html:not(.dark) .header {
  background: #1F2937;
  box-shadow: none;
}
html:not(.dark) .header-nav__link {
  color: #9CA3AF;
}
html:not(.dark) .header-nav__link:hover {
  color: #E5E7EB;
}
html:not(.dark) .header-controller,
html:not(.dark) .header-button {
  color: white;
}
html:not(.dark) .header-controller path[stroke],
html:not(.dark) .header-button path[stroke] {
  stroke: #9CA3AF;
}
html:not(.dark) .header-controller path[fill],
html:not(.dark) .header-button path[fill] {
  fill: #9CA3AF;
}
html:not(.dark) .header-lang__text,
html:not(.dark) .header-lang__lang {
  color: #9CA3AF;
}

.footer {
  background-color: #1F2937;
  padding: 3rem 0;
  flex: 0 0 auto;
}
.footer__container {
  padding: 0 1rem;
}
.footer__container > *:not(:first-child) {
  margin-top: 2rem;
}
@media only screen and (min-width: 1024px) {
  .footer__container {
    padding: 0 2rem;
  }
}
.footer__copyright {
  font-size: 1rem;
  line-height: 1.5rem;
  color: #9CA3AF;
  text-align: center;
}

.footer-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 0.5rem;
}
.footer-nav__link {
  font-size: 1rem;
  line-height: 1.5rem;
  transition: 0.15s;
  color: #6B7280;
  padding: 0px 1.25rem;
}
.footer-nav__link:hover {
  color: white;
}

.footer-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}

.app-banner {
  display: none;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  height: 56px;
  padding: 0 16px 0 8px;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}
html[data-app-banner] .app-banner {
  display: flex;
}
html[dir=rtl] .app-banner {
  padding: 0 8px 0 16px;
}
html.dark .app-banner {
  background: #111827;
  border-bottom-color: #374151;
}
@media print {
  .app-banner {
    display: none !important;
  }
}
.app-banner__close {
  flex-shrink: 0;
  display: flex;
  padding: 8px;
  border: 0;
  background: none;
  color: #9CA3AF;
  cursor: pointer;
}
.app-banner__close * {
  color: inherit;
}
.app-banner__link {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.app-banner__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 9px;
}
.app-banner__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.app-banner__name, .app-banner__hint {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.app-banner__name {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: #111827;
}
html.dark .app-banner__name {
  color: #F9FAFB;
}
.app-banner__hint {
  font-size: 0.75rem;
  line-height: 1rem;
  color: #6B7280;
}
html.dark .app-banner__hint {
  color: #9CA3AF;
}
.app-banner__badge {
  flex-shrink: 0;
  width: auto;
  height: 36px;
}

html[data-app-banner] .header--home {
  top: 56px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  border: 0;
  outline: none;
  background: transparent;
  color: #111827;
  text-decoration: none;
}

body {
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: white;
}
html.dark body {
  background: #1F2937;
}

.wrapper {
  overflow-x: hidden;
  overflow-y: auto;
  background-color: #F3F4F6;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.container {
  width: 100%;
  margin: 0 auto;
}
@media only screen and (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}
@media only screen and (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media only screen and (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}
@media only screen and (min-width: 1280px) {
  .container {
    max-width: 1222px;
  }
}

.row {
  display: flex;
  flex-direction: row;
}
.row--wrap {
  flex-wrap: wrap;
}
@media only screen and (max-width: 1279px) {
  .row--wrap {
    padding-bottom: 2rem;
    gap: 2rem;
  }
  .row--wrap .result-table__wrapper {
    width: 100%;
  }
  .row--wrap .chart-wrapper {
    margin: 0 auto;
  }
  .row--wrap .result-table td.border-right:last-child, .row--wrap .result-table th.border-right:last-child {
    border-right: 0;
  }
}

.col {
  display: flex;
  flex-direction: column;
}
.col--full {
  width: 100%;
}

.modal-window::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.dark .page,
.dark .wrapper {
  background-color: #111827;
}

.tab,
.bookmark {
  display: none;
}
.tab--active,
.bookmark--active {
  display: flex;
}

.ml-auto {
  margin-left: auto;
}
html[dir=rtl] .ml-auto {
  margin-left: 0;
  margin-right: auto;
}

.mr-auto {
  margin-right: auto;
}
html[dir=rtl] .mr-auto {
  margin-right: 0;
  margin-left: auto;
}

.mb-auto {
  margin-bottom: auto;
}

.mt-auto {
  margin-top: auto;
}

strong,
b,
span,
sup,
sub, em {
  color: inherit;
}

.bold {
  font-weight: 700 !important;
}

.semibold {
  font-weight: 600 !important;
}

.medium {
  font-weight: 500 !important;
}

.regular {
  font-weight: 400 !important;
}

.light {
  font-weight: 300 !important;
}

.text-center {
  text-align: center !important;
}

.system-item-hidden, .related-item-hidden {
  display: none !important;
}

.mobile-hidden {
  display: none !important;
}

.mobile-shown {
  display: flex !important;
}

.header--home {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: transparent !important;
  box-shadow: none !important;
}
.header--home .header-controllers {
  display: flex !important;
  margin-left: auto;
  padding-left: 0;
}
.header--home .header-lang {
  display: flex;
  align-items: center;
}
.header--home .header-lang__text {
  line-height: 1;
}

.intro {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #111827 0%, #1F2937 60%, #23262c 100%);
  padding-top: 3.5rem;
}
.intro__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.intro__container {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  padding-bottom: 3rem;
  padding-top: 0;
}
@media only screen and (min-width: 1024px) {
  .intro__container {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
    gap: 2rem;
    flex-direction: row;
  }
}
.intro__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px 1rem;
  width: 100%;
  max-width: 416px;
  margin: 0 auto;
}
@media only screen and (min-width: 1024px) {
  .intro__info {
    padding: 0px 1.5rem;
    max-width: 100%;
    width: 50%;
  }
}
.intro__calculator {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px 1rem;
  width: 100%;
}
.intro__calculator .basic-button {
  height: 66px;
  font-size: 24px;
  line-height: 24px;
}
@media only screen and (min-width: 1024px) {
  .intro__calculator {
    width: 50%;
  }
}
@media only screen and (min-width: 425px) {
  .intro__calculator {
    padding: 0px 1.5rem;
  }
}
html.dark .intro__calculator .calculator-content {
  background: #374151;
}
.intro__title {
  font-weight: 800;
  font-size: 2.25rem;
  line-height: 2.5rem;
  color: white;
  margin-bottom: 1.25rem;
  letter-spacing: -0.025em;
}
@media only screen and (min-width: 1024px) {
  .intro__title {
    font-size: 3.75rem;
    /* 60px */
    line-height: 1;
  }
}
@media only screen and (min-width: 768px) {
  .intro__title {
    line-height: 1;
  }
}
.intro__io {
  color: #FF8802;
}
.intro__text {
  font-weight: 400;
  font-size: 1.25rem;
  /* 20px */
  line-height: 1.75rem;
  /* 28px */
  margin-bottom: 2.5rem;
  color: #D1D5DB;
}
.intro__ads-title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: white;
  display: none;
}
.intro__ads-title--mobile {
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-top: 2rem;
  padding: 0px 1rem;
  max-width: 416px;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .intro__ads-title--mobile {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  .intro__ads-title--pc {
    display: block;
  }
}
.intro__ads--mobile {
  max-width: 416px;
  margin: 0 auto 2rem;
  padding: 0px 1rem;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .intro__ads--mobile {
    display: none;
  }
}
.intro__ads--pc {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .intro__ads--pc {
    display: block;
  }
}

.intro-link {
  gap: 1rem;
  padding: 0.25rem 0.5rem 0.25rem 0.25rem;
  border-radius: 14px;
  background: #111827;
  display: flex;
  align-items: center;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 1024px) {
  .intro-link {
    margin-bottom: 1.5rem;
  }
}
.intro-link__count {
  padding: 0.125rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: white;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
}
.intro-link__text {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1rem;
  color: #FF8802;
}
.intro-link__text path[fill] {
  fill: #FF8802;
}
html[dir=rtl] .intro-link__text svg {
  transform: rotate(180deg);
}

.calculator-wrapper {
  border-radius: 8px;
  overflow: hidden;
  background: white;
  margin: 0 auto;
  max-width: 24rem;
  width: 100%;
}
@media only screen and (max-width: 425px) {
  .calculator-wrapper {
    max-width: 100%;
  }
}
html.dark .calculator-wrapper {
  background: #374151;
}

.calculator-basic {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
html[dir=rtl] .calculator-basic {
  direction: ltr;
}
html[dir=rtl] .calculator-basic__input {
  direction: ltr;
}
.calculator-basic__input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  text-align: right;
  font-size: 3rem;
  line-height: 1;
  background: white;
  border-radius: 6px;
  color: #111827;
  border: 1px solid #FFD1A3;
  margin-bottom: 0.75rem;
}
.calculator-basic .input-wrapper.row .col {
  height: 100%;
}
.calculator-basic div {
  display: flex;
  gap: 0.25rem;
}
.calculator-basic div .switcher-container {
  gap: 0px;
  width: calc(75% + 8.66px);
}
.calculator-basic__text {
  padding: 1.5rem 2rem;
  font-size: 0.75rem;
  line-height: 1.25rem;
  border-radius: 0 0 8px 8px;
  color: #6B7280;
  border-top: 2px solid #E5E7EB;
  width: 100%;
  margin: 0 auto;
  max-width: 24rem;
  font-weight: 400;
  background: #F9FAFB;
}
@media only screen and (max-width: 425px) {
  .calculator-basic__text {
    border-radius: 0;
    max-width: 100%;
  }
}
.calculator-basic__text a {
  cursor: pointer;
  font-weight: 500;
  color: #111827;
}
html.dark .calculator-basic__text {
  color: #9CA3AF;
  border-top-color: #6B7280;
  background: #4B5563;
}
html.dark .calculator-basic__text a {
  color: #E5E7EB;
}
html.dark .calculator-basic__input {
  background: #374151;
  border-color: #C55F00;
  color: white;
}

.calculators__container {
  margin: 0 auto;
  padding: 2rem 1rem 0;
}
@media only screen and (min-width: 1024px) {
  .calculators__container {
    padding: 3rem 2rem 4rem;
  }
}
.calculators__title {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  color: #ED7400;
}
.calculators__subtitle {
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 800;
  text-align: center;
  color: #111827;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 1024px) {
  .calculators__subtitle {
    line-height: 2.5rem;
    font-size: 2.25rem;
  }
}
.calculators__text {
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: #6B7280;
  font-weight: 400;
  text-align: center;
  max-width: 813px;
  margin: 0 auto 3rem;
}
.calculators__categories {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}
@media only screen and (min-width: 640px) {
  .calculators__categories {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  .calculators__categories {
    grid-template-columns: repeat(3, 1fr);
  }
}
html.dark .calculators__subtitle {
  color: white;
}
html.dark .calculators__text {
  color: #D1D5DB;
}

.calculators-category {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  gap: 1.25rem;
  width: 100%;
  padding: 2rem 1.5rem;
  border-radius: 16px;
  background-color: #F9FAFB;
}
.calculators-category__icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  background-color: #eef1f5;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.calculators-category__icon svg {
  width: 36px;
  height: 36px;
  display: block;
  color: #1F2937;
}
.calculators-category__icon svg * {
  color: inherit;
}
html.dark .calculators-category__icon {
  background-color: #273246;
  border-color: transparent;
}
html.dark .calculators-category__icon svg {
  color: white;
}
.calculators-category__col {
  align-items: flex-start;
}
.calculators-category__title {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  text-align: left;
  color: #111827;
  margin-bottom: 1rem;
  padding-top: 0.375rem;
}
html.dark .calculators-category {
  background: #1F2937;
}
html.dark .calculators-category__title {
  color: white;
}

.calculator-category__links {
  gap: 0.375rem;
}
.calculator-category__link {
  font-size: 1rem;
  line-height: 1.5rem;
  text-align: left;
  color: #4B5563;
  transition: 0.15s ease;
}
.calculator-category__link:hover {
  color: #FF8802;
}
html.dark .calculator-category__link {
  color: #9CA3AF;
}
html.dark .calculator-category__link:hover {
  color: #FF8802;
}

.company__container {
  margin: 0 auto;
  padding: 3rem 1rem;
}
@media only screen and (min-width: 1024px) {
  .company__container {
    padding: 4rem 2rem 8rem;
  }
}
.company__title {
  font-size: 1rem;
  margin-bottom: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  color: #4B5563;
}
@media only screen and (min-width: 1024px) {
  .company__title {
    margin-bottom: 2rem;
  }
}
.company__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
  gap: 0.125rem;
}
@media only screen and (min-width: 768px) {
  .company__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.company__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F9FAFB;
  width: 100%;
  padding: 2rem;
}
.company svg {
  width: 100%;
  max-height: 3rem;
}
html.dark .company__cell {
  background-color: #1F2937;
}

.tag {
  display: inline;
  border-radius: 10px;
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1rem;
  background: #F3F4F6;
  color: #1F2937;
}
.tag--green {
  background: #DCFCE6;
  color: #176434;
}
.tag--yellow {
  background: #FEF8C3;
  color: #844D0F;
}
.tag--red {
  background: #FEE2E2;
  color: #981C1B;
}
.tag--purple {
  background: #EDE9FE;
  color: #5B21B6;
}
html.dark .tag {
  color: #F3F4F6;
  background-color: #111827;
}
html.dark .tag--green {
  background-color: #064E3B;
  color: #DCFCE6;
}
html.dark .tag--yellow {
  background-color: #78350F;
  color: #FEF8C3;
}
html.dark .tag--red {
  background-color: #7F1D1D;
  color: #FEE2E2;
}
html.dark .tag--purple {
  background-color: #4C1D95;
  color: #EDE9FE;
}

.calculator-result {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0588235294), 0px 1px 3px 0px rgba(0, 0, 0, 0.1019607843);
  background-color: white;
  overflow: hidden;
}
.calculator-result + .calculator-result {
  margin-top: 32px;
}
.calculator-result.tab:not(.tab--active) + .calculator-result {
  margin-top: 0;
}
.calculator-result.related-item-hidden + .calculator-result {
  margin-top: 0;
}
.calculator-result__col {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 1280px) {
  .calculator-result__col--ovulation {
    flex-direction: row;
  }
  .calculator-result__col--ovulation .result-age--small {
    align-items: center;
    padding: 0 20px;
  }
  .calculator-result__col--ovulation .result-age--small .result-age-table {
    width: 200px;
    max-width: none;
  }
  .calculator-result__col--ovulation .result-age--small .date-title {
    padding-top: 10px;
    margin-bottom: 8px;
  }
}
@media only screen and (max-width: 1280px) {
  .calculator-result__col--ovulation {
    gap: 2rem;
    padding-bottom: 2rem;
  }
}
.calculator-result__title {
  margin-bottom: 20px;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 0.025em;
  text-align: start;
  text-transform: uppercase;
  color: #6B7280;
}
.calculator-result--error {
  padding: 2rem;
  background: #FEF2F2;
  display: none;
}
.calculator-result--error-active {
  display: flex;
}
.calculator-result--hidden {
  display: none;
}
.calculator-result--transparent {
  background: transparent;
}
.calculator-result--no-shadow {
  box-shadow: none;
}
@media only screen and (max-width: 640px) {
  .calculator-result {
    box-shadow: none;
    border-radius: 0;
  }
}
html.dark .calculator-result {
  background: #1F2937;
}
html.dark .calculator-result * {
  color: #fff;
}
html.dark .calculator-result--error {
  padding: 2rem;
  background: #3D1D1D;
}
html.dark .calculator-result--error svg > path {
  fill: #FECACA;
}

.calculator-error__title {
  margin-left: 0.75rem;
  font-size: 0.875rem;
  color: #981C1B;
  font-weight: 500;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.calculator-error__item {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #B91C1C;
  margin-left: 2rem;
  padding-left: 1rem;
  margin-top: 0.5rem;
  position: relative;
}
.calculator-error__item::before {
  content: "";
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background-color: #B91C1C;
  position: absolute;
  left: 6px;
  top: 6px;
}
html.dark .calculator-error__title {
  color: #FECACA;
}
html.dark .calculator-error__item {
  color: #FECACA;
}
html.dark .calculator-error__item::before {
  background-color: #FECACA;
}

.table-cell {
  padding: 16px 24px;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
  color: #374151;
  background-color: white;
}
.table-cell--timer {
  padding: 1.25rem 1.5rem !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 24px !important;
  color: #374151;
}
.table-cell--legend {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 2rem;
  gap: 1.5rem;
}
.table-cell--small {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}
.table-cell--dark {
  background-color: #F3F4F6;
}
.table-cell--only {
  padding: 32px 24px;
}
.table-cell--age {
  gap: 1.25rem;
  flex-wrap: wrap;
}
.table-cell--date-count {
  gap: 1.25rem;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .table-cell--date-count:not(.table-cell--date-left) {
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 16px;
  }
  .table-cell--date-count:not(.table-cell--date-left) .result-age {
    flex: 1 1 0;
    min-width: 0;
  }
}
@media only screen and (max-width: 767px) {
  .table-cell--date-count:not(.table-cell--date-left) {
    justify-content: center;
  }
  .table-cell--date-count:not(.table-cell--date-left) .result-age {
    width: 288px;
  }
  .table-cell--date-count:not(.table-cell--date-left) .result-age-table th,
  .table-cell--date-count:not(.table-cell--date-left) .result-age-table td {
    height: 2.5rem;
    font-size: 1rem;
  }
}
.table-cell--date-stack {
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1.75rem;
}
.table-cell--date-stack .date-title {
  display: none;
}
.table-cell--date-stack .result-age {
  position: relative;
}
.table-cell--date-stack .result-age + .result-age::before {
  content: "···";
  position: absolute;
  top: -1.625rem;
  left: 50%;
  transform: translateX(-50%);
  color: #C4B5FD;
  font-size: 1.5rem;
  line-height: 1.5rem;
  font-weight: 600;
  letter-spacing: 2px;
}
.table-cell--date-stack .result-age {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  -moz-column-gap: 0;
       column-gap: 0;
}
.table-cell--date-stack .result-age__month {
  grid-column: 1;
  justify-self: end;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #6B7280;
  white-space: nowrap;
}
html.dark .table-cell--date-stack .result-age__month {
  color: #9CA3AF;
}
.table-cell--date-stack .result-age-table {
  grid-column: 2;
}
.table-cell--date-stack .result-age--small .result-age-table {
  max-width: 132px;
}
.table-cell--date-stack .result-age--small .result-age-table th,
.table-cell--date-stack .result-age--small .result-age-table td {
  height: 1rem;
  padding: 2px 0;
  line-height: 1;
  font-size: 0.625rem;
}
@media only screen and (max-width: 767px) {
  .table-cell--date-stack {
    flex-direction: row;
    justify-content: center;
    gap: 1.25rem;
  }
  .table-cell--date-stack .result-age--small .result-age-table {
    max-width: 168px;
  }
  .table-cell--date-stack .result-age--small .result-age-table th,
  .table-cell--date-stack .result-age--small .result-age-table td {
    height: 1.25rem;
    padding: 2px 0;
    line-height: 1;
    font-size: 0.75rem;
  }
  .table-cell--date-stack .result-age + .result-age::before {
    top: 50%;
    left: -0.625rem;
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
.table-cell--controls {
  display: flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  gap: 8px;
}
.table-cell--date {
  margin: 0 auto;
  justify-content: center;
}
.table-cell--date-left {
  margin: 0 auto;
}
@media only screen and (min-width: 1280px) {
  .table-cell--date-left {
    margin-left: auto;
    margin-right: unset;
  }
}
.table-cell--date-right {
  margin: 0 auto;
}
@media only screen and (min-width: 1280px) {
  .table-cell--date-right {
    margin-right: auto;
    margin-left: unset;
  }
}
.table-cell--big {
  padding: 32px;
}
.table-cell--fraction {
  gap: 0.5rem;
  align-items: center;
}
.table-cell--fraction-text {
  border-bottom: 1px solid #F3F4F6;
}
.table-cell--percentage-of-a-number-calculator {
  display: flex;
  flex-direction: column;
}
.table-cell--percentage-of-a-number-calculator b {
  margin-bottom: 4px;
  display: inline-block;
}
.table-cell--percentage-of-a-number-calculator b:not(:first-child) {
  margin-top: 16px;
}
.table-cell--percentage-of-a-number-calculator .error {
  color: #EF4444;
}
.table-cell--only-title {
  text-transform: uppercase;
  color: #374151;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  letter-spacing: 0.05em;
}
html.dark .table-cell--only-title {
  border-bottom-color: #374151;
}
.table-cell--only-title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}
.table-cell--nogap {
  gap: 4px;
}
.table-cell--table-dark {
  background-color: #E5E7EB;
}
@media only screen and (max-width: 640px) {
  .table-cell:first-child {
    border-radius: 0;
  }
}
@media only screen and (max-width: 640px) {
  .table-cell:last-child {
    border-radius: 0;
  }
}
@media only screen and (max-width: 768px) {
  .table-cell--only-title {
    padding: 16px;
  }
  .table-cell--only {
    padding: 32px 16px;
  }
}
html.dark .table-cell {
  background-color: #1F2937;
  color: white;
}
html.dark .table-cell--dark {
  background-color: #374151;
  color: white;
}
html.dark .table-cell--table-dark {
  background-color: #4B5563;
}
html.dark .table-cell--only-title {
  background: #374151;
}
html.dark .table-cell--fraction-text {
  border-color: #2F4A71;
}

.result-table {
  background: white;
  border-collapse: collapse;
  min-width: 100px;
  width: 100%;
}
html[dir=rtl] .result-table td {
  unicode-bidi: plaintext;
  text-align: right;
}
@media only screen and (max-width: 480px) {
  .result-table.result-table--fit td, .result-table.result-table--fit th {
    padding: 0.625rem 0.375rem;
    white-space: normal;
  }
  .result-table.result-table--fit td.short, .result-table.result-table--fit th.short {
    padding-left: 0.375rem;
  }
  .result-table.result-table--fit th {
    font-size: 0.6875rem;
    letter-spacing: 0;
  }
  .result-table.result-table--fit th[colspan] {
    overflow-wrap: anywhere;
  }
  .result-table.result-table--fit tr > th:first-child:nth-last-child(2) {
    width: 40%;
  }
  .result-table.result-table--fit th:first-child, .result-table.result-table--fit th:nth-child(2) {
    min-width: 0;
    width: auto;
  }
}
.result-table td, .result-table th {
  padding: 1rem 1.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  white-space: nowrap;
  text-align: start;
  font-weight: 400;
}
.result-table td.wrap, .result-table th.wrap {
  white-space: normal;
  word-break: break-all;
}
.result-table td.short, .result-table th.short {
  padding-left: 0;
}
.result-table td.border-right, .result-table th.border-right {
  border-right-width: 1px;
  border-right-style: solid;
}
.result-table td.border-right-none, .result-table th.border-right-none {
  border-right-width: 0 !important;
}
.result-table td.border-left, .result-table th.border-left {
  border-left-width: 1px;
  border-left-style: solid;
}
.result-table td.border-left-none, .result-table th.border-left-none {
  border-left-width: 0 !important;
}
.result-table td.border-top, .result-table th.border-top {
  border-top-width: 1px;
  border-top-style: solid;
}
.result-table td.border-top-none, .result-table th.border-top-none {
  border-top-width: 0 !important;
}
.result-table td.border-bottom, .result-table th.border-bottom {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.result-table td.border-bottom-none, .result-table th.border-bottom-none {
  border-bottom-width: 0 !important;
}
.result-table td.baseline, .result-table th.baseline {
  vertical-align: baseline;
}
.result-table td.border-radius-top-left, .result-table th.border-radius-top-left {
  border-top-left-radius: 0px !important;
}
.result-table td.border-radius-top-right, .result-table th.border-radius-top-right {
  border-top-right-radius: 0px !important;
}
.result-table td.border-radius-bottom-left, .result-table th.border-radius-bottom-left {
  border-bottom-left-radius: 0px !important;
}
.result-table td.border-radius-bottom-right, .result-table th.border-radius-bottom-right {
  border-bottom-right-radius: 0px !important;
}
.result-table td {
  border-color: #F3F4F6;
  border-style: solid;
}
.result-table td button {
  width: 100%;
  height: 100%;
  font: inherit;
  text-align: left;
}
.result-table th {
  background: #F3F4F6;
  border-color: #F9FAFB;
}
.result-table th.indigo {
  text-transform: uppercase;
  color: #7A3B00;
  letter-spacing: 0.05em;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}
.result-table th.indigo span {
  text-transform: lowercase;
  font-weight: 400;
}
.result-table th.dark {
  background-color: #E5E7EB;
}
.result-table th.gray {
  background-color: #F3F4F6;
}
.result-table tr > *:is(td, th):last-child {
  width: 100%;
}
.result-table__wrapper {
  overflow: auto;
}
.result-table__wrapper:not(:first-child) {
  border-top: 1px solid #F3F4F6;
}
.result-table__wrapper:first-child {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
@media only screen and (max-width: 640px) {
  .result-table__wrapper:first-child {
    border-radius: 0;
  }
}
.result-table__wrapper:last-child {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
@media only screen and (max-width: 640px) {
  .result-table__wrapper:last-child {
    border-radius: 0;
  }
}
.result-table__wrapper:not(:last-child) tbody > tr:last-child td, .result-table__wrapper:not(:last-child) tbody > tr:last-child th {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #F3F4F6;
}
.result-table__wrapper--ovulation {
  width: 100%;
  border-color: #F3F4F6;
}
@media only screen and (min-width: 1280px) {
  .result-table__wrapper--ovulation {
    max-width: 600px;
    border-right-width: 1px;
    border-right-style: solid;
  }
}
@media only screen and (max-width: 1280px) {
  .result-table__wrapper--ovulation {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
}
.result-table__wrapper--ovulation tbody > tr:last-child > :is(td, th) {
  border-bottom: 0 !important;
}
.result-table__wrapper--shadow {
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0588235294), 0px 1px 3px 0px rgba(0, 0, 0, 0.1019607843);
}
.result-table__dialog {
  max-height: 44px;
  overflow: hidden;
}
.result-table__dialog--active {
  max-height: 100%;
}
.result-table__dialog--active > .result-table__open > svg {
  transform: rotate(180deg);
}
.result-table__dialog + .result-table__dialog > .result-table__open {
  border-top: 1px solid #E5E7EB;
}
.result-table__dialog tr > *:is(td, th):last-child {
  width: auto;
}
.result-table__cell--header-main {
  background: #F3F4F6;
  border-color: #F9FAFB;
}
.result-table__cell--dark {
  background-color: #E5E7EB;
}
.result-table__cell--uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}
.result-table__cell--uppercase span {
  text-transform: lowercase;
  font-weight: 400;
}
.result-table__cell--border-right {
  border-right-style: solid;
  border-right-width: 1px;
}
.result-table__cell--border-left {
  border-left-style: solid;
  border-left-width: 1px;
}
.result-table__cell--border-bottom {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
.result-table__cell--border-top {
  border-top-style: solid;
  border-top-width: 1px;
}
.result-table__cell--border-header {
  border-color: #F3F4F6;
}
.result-table__cell--border-default {
  border-color: #F9FAFB;
}
.result-table__cell--border-none {
  border-width: 0px !important;
}
.result-table tr + tr th, .result-table tr + tr td {
  border-top-width: 1px;
  border-style: solid;
}
.result-table tbody + tbody tr:first-child th, .result-table tbody + tbody tr:first-child td {
  border-top-width: 1px;
  border-style: solid;
}
.result-table thead + tbody > tr:first-child > *:is(td, th) {
  border-top-width: 1px;
  border-style: solid;
}
.result-table thead > tr:last-child > *:is(td, th) {
  border-bottom: 1px solid #E5E7EB;
}
html.dark .result-table thead > tr:last-child > *:is(td, th) {
  border-bottom-color: #4B5563;
}
.result-table tr.red td, .result-table tr.red th {
  color: #DC2626;
}
.result-table tr.green td, .result-table tr.green th {
  color: #059669;
}
.result-table__open {
  padding: 0.75rem 1.5rem;
  display: flex;
  justify-content: space-between;
  background: #F9FAFB;
  align-items: center;
  width: 100%;
  cursor: pointer;
}
.result-table__open > svg {
  transition: 0.3s linear;
}
.result-table__open-text {
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #374151;
}
.result-table--work-hours-calculator {
  border-top: 1px solid #F3F4F6;
}
.result-table--work-hours-calculator thead > tr > *:is(td, th):last-child,
.result-table--work-hours-calculator thead > tr > *:is(td, th):first-child {
  border-radius: 0 !important;
}
.result-table--work-hours-calculator tbody > tr > *:is(td, th) {
  border-top-width: 1px;
  border-top-style: solid;
}
.result-table--work-hours-calculator th:first-child {
  min-width: 287px;
  width: 287px;
}
.result-table--work-hours-calculator th:nth-child(2) {
  min-width: 92px;
  width: 92px;
}
.result-table--fully tr > *:is(td, th):last-child {
  width: auto;
}
.result-table--z-score td, .result-table--z-score th {
  height: 62px;
}
.result-table--z-score thead th {
  height: 52px;
}
.result-table--z-score .short {
  padding-top: 11px;
  padding-bottom: 11px;
}
.result-table--white {
  background: white;
}
.result-table--white th {
  background: white;
  border-color: #E5E7EB;
}
.result-table--white td {
  border-color: #E5E7EB;
}
.result-table--small td {
  padding: 0.5rem 1.5rem;
}
.result-table--grid td:not(:last-child) {
  border-right-width: 1px;
}
.result-table--world {
  table-layout: fixed;
}
html.dark .result-table {
  background: #1F2937;
}
html.dark .result-table td, html.dark .result-table th {
  color: white;
}
html.dark .result-table td {
  border-color: #374151;
}
html.dark .result-table th {
  background: #374151;
  border-color: #1F2937;
}
html.dark .result-table th.dark {
  background: #4B5563;
}
html.dark .result-table th.gray {
  background: #4B5563;
}
html.dark .result-table__wrapper:not(:first-child) {
  border-top-color: #374151;
}
html.dark .result-table__wrapper:not(:last-child) tbody > tr:last-child td, html.dark .result-table__wrapper:not(:last-child) tbody > tr:last-child th {
  border-bottom-color: #374151;
}
html.dark .result-table__wrapper--ovulation {
  border-color: #374151;
}
html.dark .result-table__cell--dark {
  background: #4B5563;
}
html.dark .result-table__cell--border-header {
  border-top-color: #374151;
}
html.dark .result-table__cell--border-default {
  border-top-color: #1F2937;
}
html.dark .result-table__open {
  border-top-color: #1F2937 !important;
  background: #374151;
}
html.dark .result-table__open svg > path[fill] {
  fill: white;
}
html.dark .result-table__open-text {
  color: white;
}
html.dark .result-table--work-hours-calculator {
  border-color: #374151;
}

.table-progress-list {
  display: flex;
  margin-bottom: -0.25rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}
.table-progress-list__item {
  line-height: 1;
  color: #6B7280;
  font-size: 0.75rem;
}
.table-progress-list--fat {
  padding: 0;
  max-width: 80%;
}
html.dark .table-progress-list__item {
  color: white;
}

.table-progress {
  width: 100%;
  height: 0.5rem;
  border-radius: 6px;
  position: relative;
  background: linear-gradient(90deg, #ff8686 0, #ffdd84 25%, #9cff84 50%, #ffdd86 75%, #ff8585 100%);
}
.table-progress--fat {
  background: linear-gradient(90deg, #ff8686 0, #ffdd84 13%, #9cff84 29%, #87b958 43%, #ffdd86 61%, #ff8585 100%);
}
.table-progress__indicator {
  width: 1rem;
  height: 1rem;
  left: 40%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #ED7400;
  border-radius: 50%;
  position: absolute;
  border: 2px solid white;
  box-sizing: content-box;
  transition: 0.3s ease;
}

.zodiac-icon {
  display: inline-block;
  margin-inline-end: 0.4em;
}

.due-sep {
  color: #9CA3AF;
}

html[dir=rtl] .result-text {
  unicode-bidi: plaintext;
}
.result-text {
  color: #374151;
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.result-text--flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.result-text--small {
  color: #6B7280;
  line-height: 1.25rem;
  font-size: 0.875rem;
}
.result-text--small-loan {
  color: #6B7280;
  line-height: 1.25rem;
  font-size: 0.875rem;
}
.result-text--break-all {
  word-break: break-all;
}
.result-text--darker {
  color: #374151;
}
html.dark .result-text {
  color: white;
}
html.dark .result-text--small-loan {
  color: #D1D5DB;
}

.date-title {
  color: #6B7280;
  line-height: 1.75rem;
  font-size: 1.125rem;
  text-align: center;
  margin-bottom: 1rem;
}
.date-title--date {
  color: #111827;
}
.date-title--small {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.date-title--purple {
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  text-align: center;
  color: #ED7400;
}
.date-title b {
  color: inherit;
}
.date-title b + b {
  margin-left: 4px;
}
html.dark .date-title {
  color: white;
}
html.dark .date-title--date {
  color: white;
}

.result-age .result-age-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  overflow: hidden;
  margin: 0 auto;
}
.result-age .result-age-table th {
  height: 1.75rem;
  font-weight: 400;
  font-size: 0.8125rem;
  color: #9CA3AF;
  text-align: center;
  border-right: 1px solid #E5E7EB;
}
.result-age .result-age-table td {
  height: 1.75rem;
  font-size: 0.8125rem;
  text-align: center;
  vertical-align: middle;
  color: #6B7280;
  border-top: 1px solid #E5E7EB;
  border-right: 1px solid #E5E7EB;
}
.result-age .result-age-table th:last-child,
.result-age .result-age-table td:last-child {
  border-right: 0;
}
.result-age .result-age-table tbody tr:not(:has(td:not(.next):not(:empty))) {
  display: none;
}
.result-age--small .result-age-table {
  max-width: 320px;
}
.result-age .pink-cell {
  background: #FCE7F3;
  color: #9D174D !important;
  font-weight: 600;
}
.result-age .green-cell {
  background: #DCFCE6;
  color: #176434 !important;
  font-weight: 600;
}
.result-age .current,
.result-age .current-between {
  font-weight: 600;
}
.result-age .next {
  color: #9CA3AF !important;
}
.result-age .active {
  color: #111827;
}
.result-age .holiday,
.result-age .active.holiday {
  color: #B91C1C !important;
}
.result-age--from .current {
  background: #FEF8C3;
  color: #844D0F !important;
}
.result-age--to .current {
  background: #DCFCE6;
  color: #176434 !important;
}
.result-age--range .current {
  background: #5B21B6;
  color: #EDE9FE !important;
}
.result-age--range .current-between {
  background: #EDE9FE;
  color: #5B21B6 !important;
}
.result-age--full {
  width: 100%;
  margin-top: 20px;
}
.result-age--full .result-age-table td {
  height: auto;
  aspect-ratio: 1/1;
  font-size: 1rem;
  position: relative;
}
.result-age--full .wd-full {
  display: none;
}
@media only screen and (min-width: 768px) {
  .result-age--full .wd-min {
    display: none;
  }
  .result-age--full .wd-full {
    display: inline;
  }
}
html.dark .result-age .result-age-table {
  border-color: #6B7280;
}
html.dark .result-age .result-age-table th {
  color: #6B7280;
  border-right-color: #6B7280;
  border-bottom-color: #6B7280;
}
html.dark .result-age .result-age-table td {
  color: #fff;
  border-right-color: #6B7280;
  border-bottom-color: #6B7280;
}
html.dark .result-age .pink-cell {
  background: #9D174D;
  color: #FCE7F3 !important;
}
html.dark .result-age .green-cell {
  background: #176434;
  color: #DCFCE6 !important;
}
html.dark .result-age .active {
  color: #fff;
}
html.dark .result-age--from .current {
  background: #844D0F;
  color: #FEF8C3 !important;
}
html.dark .result-age--to .current {
  background: #176434;
  color: #DCFCE6 !important;
}
html.dark .result-age--range .current {
  background: #5B21B6;
  color: #EDE9FE !important;
}
html.dark .result-age--range .current-between {
  background: #8B5CF6;
  color: #EDE9FE !important;
}

.result-controls {
  gap: 16px;
  flex-wrap: wrap;
  display: flex;
}
.result-controls__button {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #ED7400;
}

.result-legend-items {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.result-legend-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.result-legend-item__color {
  width: 24px;
  height: 16px;
  border-radius: 2px;
}
.result-legend-item__color--pink {
  background: #FBCFE8;
}
.result-legend-item__color--green {
  background: #A7F3D0;
}
html.dark .result-legend-item__color--pink {
  background: #9D174D;
}
html.dark .result-legend-item__color--green {
  background: #176434;
}
.result-legend-item__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #6B7280;
}

.prime-factorization-calculator {
  border-collapse: collapse;
}
.prime-factorization-calculator td {
  padding: 8px 12px;
  border: none !important;
  background: white;
  width: 40px !important;
  height: 38px !important;
  position: relative;
  text-align: center;
  color: #111827;
}
.prime-factorization-calculator td::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  margin: -1px;
  border: 1px solid #D1D5DB;
}
html.dark .prime-factorization-calculator td {
  background: #1F2937;
}
html.dark .prime-factorization-calculator td::after {
  border-color: #374151;
}

.result-countdown__line {
  width: 100%;
  background: #E5E7EB;
  height: 1px;
  border: 0;
  display: block;
}
.result-countdown__row {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.result-countdown__time {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 180px;
  gap: 4px;
  color: #4B5563;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
  text-align: center;
}
.result-countdown__time span {
  color: #000;
  font-size: 96px;
  font-weight: 700;
  line-height: 96px;
  text-align: center;
}
.result-countdown__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.result-countdown__last {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.result-timer {
  font-size: clamp(2.75rem, 17vw, 6rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  height: auto;
  display: flex;
  justify-content: center;
}
* + .result-timer {
  margin-top: 24px;
}

.world-clock-cell {
  font: inherit;
  display: flex;
  width: 100%;
  font-weight: 500;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.world-clock-cell__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-style: normal;
}
.world-clock-cell span {
  font-weight: 400;
  color: #6B7280;
}
.world-clock-cell span span {
  font: inherit;
  line-height: inherit;
  font-size: inherit;
}
.world-clock-cell span sub {
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  text-align: center;
  color: #6B7280;
  margin-left: 8px;
  margin-bottom: 8px;
  margin-top: auto;
  gap: 4px;
}
.world-clock-cell span sub span {
  color: #000;
  color: #6B7280;
  margin-left: 8px;
  margin-bottom: 8px;
  margin-top: auto;
}
.world-clock-cell span sub__line {
  width: 100%;
  height: 1px;
  max-width: 700px;
  margin: 0 auto;
  background: #E5E7EB;
}
.world-clock-cell span--title select {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-align: left;
  color: #6B7280;
}

.safety-note {
  border-left: 3px solid transparent;
}
.safety-note--green {
  border-left-color: #059669;
}
.safety-note--yellow {
  border-left-color: #D97706;
}
.safety-note--red {
  border-left-color: #DC2626;
  color: #B91C1C;
}
html.dark .safety-note--red {
  color: #FEE2E2;
}

.table-calendar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 20px 32px;
}
@media only screen and (max-width: 1023px) {
  .table-calendar {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 600px) {
  .table-calendar {
    grid-template-columns: 1fr;
  }
}
.table-calendar--solo {
  grid-template-columns: 1fr;
}

.calendar-year-month {
  gap: 8px;
}
.calendar-year-month__title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
  text-align: center;
  color: #111827;
  cursor: pointer;
}
.calendar-year-month__title:hover {
  color: #ED7400;
}
html.dark .calendar-year-month__title {
  color: #fff;
}
.calendar-year-month .result-age-table {
  max-width: none;
}
.calendar-year-month .result-age-table th,
.calendar-year-month .result-age-table td {
  height: 1.5rem;
  font-size: 0.75rem;
}

.result-age.result-age--full .result-age-table {
  width: 100%;
  max-width: 560px;
}
.result-age.result-age--full .result-age--days td {
  position: relative;
  aspect-ratio: auto;
  min-height: 54px;
  height: 54px;
}
.result-age.result-age--full .day-holiday-name {
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 4px;
  font-size: 8px;
  line-height: 9px;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #DC2626;
  pointer-events: none;
}

.result-age__text {
  gap: 0.5rem;
}

#holidays_list td.table-cell-holiday--current {
  background: #FEF2F2;
  border-radius: 6px;
}
html.dark #holidays_list td.table-cell-holiday--current {
  background: rgba(220, 38, 38, 0.15);
}

.table-calendar-header {
  display: flex;
  padding: 32px 32px 0;
  justify-content: space-between;
}
.table-calendar-header__title {
  font-size: 30px;
  font-weight: 400;
  line-height: 36px;
  text-align: center;
  color: #111827;
}
html.dark .table-calendar-header__title {
  color: #fff;
}
.table-calendar-header__value {
  font-size: 96px;
  font-weight: 700;
  line-height: 96px;
  text-align: center;
  color: #000;
}
html.dark .table-calendar-header__value {
  color: #fff;
}
.table-calendar-header__button {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  text-align: center;
  color: #111827;
  margin-top: 4px;
  cursor: pointer;
}
.table-calendar-header .table-calendar-holiday {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
  color: #DC2626;
  display: flex;
  gap: 16px;
}
.table-calendar-header .table-calendar-holiday span:nth-child(1) {
  color: #ED7400;
}
.table-calendar-header .table-calendar-holiday span:nth-child(2) {
  color: #6B7280;
}

.table-cell-holiday {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.table-cell-holiday__title {
  font-size: 14px;
  line-height: 20px;
  color: #6B7280;
}
.table-cell-holiday__title span {
  font-weight: 500;
  color: #111827;
}
html.dark .table-cell-holiday__title span {
  color: #fff;
}
.table-cell-holiday__description {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 20px;
  color: #6B7280;
}
.table-cell-holiday__description svg {
  flex-shrink: 0;
}

.result-metronome__title {
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  text-align: center;
  color: #111827;
}
.result-metronome__value {
  font-size: 96px;
  font-weight: 700;
  line-height: 96px;
  text-align: center;
  color: #000;
}
.result-metronome__line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.result-metronome__line span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #D1D5DB;
}
.result-metronome__line span.active {
  background: #F59E0B;
}
.result-metronome__line span.active:nth-child(1) {
  background: #FF8802;
}

html.dark .stopwatch * {
  color: #fff;
}

#lapsList tr.fastest * {
  color: #10B981;
}
#lapsList tr.slowest * {
  color: #EF4444;
}

.calculator-result .table-cell--only-title,
.calculator-result th.indigo {
  background: #F9FAFB;
  color: #374151;
  border-bottom: 1px solid #E5E7EB;
}
html.dark .calculator-result .table-cell--only-title,
html.dark .calculator-result th.indigo {
  background: #374151;
  color: white;
  border-bottom-color: #4B5563;
}
.calculator-result th.indigo.gray {
  background: #F3F4F6;
}
html.dark .calculator-result th.indigo.gray {
  background: #4B5563;
}

.calendar-day-card {
  position: fixed;
  z-index: 1000;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 46px;
  max-width: 200px;
  padding: 8px 12px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.18);
  color: #111827;
}
.calendar-day-card__num {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
.calendar-day-card__name {
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  color: #DC2626;
}
.calendar-day-card--next {
  opacity: 0.65;
}
html.dark .calendar-day-card {
  background: #374151;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.result-table.number-bases td {
  white-space: normal;
}

.number-bases__group {
  margin-right: 0.3em;
}

.number-bases__mark {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

html[dir=rtl] .table-cell--fraction {
  direction: ltr;
}

.calculator-settings {
  width: 100%;
}

.calculator-setting {
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0588235294), 0px 1px 3px 0px rgba(0, 0, 0, 0.1019607843);
  border-radius: 8px;
}
@media only screen and (max-width: 640px) {
  .calculator-setting {
    box-shadow: none;
    border-radius: 0;
  }
}
.calculator-setting__title {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  padding: 16px 24px;
  color: #374151;
  background: #F9FAFB;
  border-radius: 8px 8px 0 0;
  border-bottom: 1px solid #E5E7EB;
}
@media only screen and (max-width: 768px) {
  .calculator-setting__title {
    padding: 16px;
  }
}
@media only screen and (max-width: 640px) {
  .calculator-setting__title {
    border-radius: 0;
  }
}
html.dark .calculator-setting__title {
  color: white;
  background: #374151;
  border-bottom-color: #374151;
}

.calculator-content {
  padding: 32px;
  background-color: #fff;
  gap: 20px 16px;
}
.calculator-content__geometry {
  display: flex;
  align-items: center;
  justify-content: center;
}
.calculator-content__geometry path[fill="#F5F3FF"], .calculator-content__geometry circle[fill="#F5F3FF"], .calculator-content__geometry rect[fill="#F5F3FF"], .calculator-content__geometry ellipse[fill="#F5F3FF"] {
  fill: #F5F3FF;
}
html.dark .calculator-content__geometry path[fill="#F5F3FF"], html.dark .calculator-content__geometry circle[fill="#F5F3FF"], html.dark .calculator-content__geometry rect[fill="#F5F3FF"], html.dark .calculator-content__geometry ellipse[fill="#F5F3FF"] {
  fill: #4C4E72;
}
.calculator-content__geometry path[fill="#fff"], .calculator-content__geometry circle[fill="#fff"], .calculator-content__geometry rect[fill="#fff"], .calculator-content__geometry ellipse[fill="#fff"] {
  fill: #fff;
}
html.dark .calculator-content__geometry path[fill="#fff"], html.dark .calculator-content__geometry circle[fill="#fff"], html.dark .calculator-content__geometry rect[fill="#fff"], html.dark .calculator-content__geometry ellipse[fill="#fff"] {
  fill: #1F2937;
}
html.dark .calculator-content__geometry rect[stroke="#7C3AED"], html.dark .calculator-content__geometry circle[stroke="#7C3AED"], html.dark .calculator-content__geometry path[stroke="#7C3AED"], html.dark .calculator-content__geometry ellipse[stroke="#7C3AED"] {
  stroke: #A78BFA;
}
html.dark .calculator-content__geometry path[fill="#7C3AED"] {
  fill: #A78BFA;
}
.calculator-content--small {
  padding: 12px 32px;
}
.calculator-content--gray {
  background-color: #F9FAFB;
}
.calculator-content--options {
  padding: 0;
  gap: 0;
}
.calculator-content--footer {
  position: relative;
  z-index: 10;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.calculator-content--active .calculator-content-head svg:last-child {
  transform: rotate(180deg);
}
.calculator-content--active .calculator-content-body {
  padding-top: 8px;
  padding-bottom: 32px;
  max-height: 100%;
}
@media only screen and (max-width: 768px) {
  .calculator-content--active .calculator-content-body {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}
.calculator-content--bookmarks {
  padding: 0 !important;
  display: flex;
  gap: 0;
  flex-direction: row;
}
.calculator-content:first-child {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
@media only screen and (max-width: 640px) {
  .calculator-content:first-child {
    border-radius: 0;
  }
}
.calculator-content:last-child, .calculator-content--scientific, .calculator-content--basic {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
@media only screen and (max-width: 640px) {
  .calculator-content:last-child, .calculator-content--scientific, .calculator-content--basic {
    border-radius: 0;
  }
}
.calculator-content + .calculator-content, script + .calculator-content {
  border-top: 1px solid #E5E7EB;
}
@media only screen and (max-width: 768px) {
  .calculator-content {
    padding: 32px 16px;
  }
  .calculator-content--small {
    padding: 12px 16px;
  }
  .calculator-content--options {
    padding: 0;
  }
}
html.dark .calculator-content {
  background: #1F2937;
}
html.dark .calculator-content--gray {
  background: #374151;
  border-color: #1F2937;
}
html.dark .calculator-content + html.dark .calculator-content, script + html.dark .calculator-content {
  border-color: #374151;
}

.calculator-content-head {
  padding: 16px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  cursor: pointer;
  gap: 0.75rem;
}
.calculator-content-head svg {
  transition: 0.3s linear;
  width: 20px;
  height: 20px;
}
.calculator-content-head svg:not(:last-child) {
  margin-left: auto;
}
.calculator-content-head svg path {
  fill: #ED7400;
}
html.dark .calculator-content-head svg path {
  fill: #FF9838;
}
.calculator-content-head__title {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  color: #ED7400;
}
.calculator-content-head--always {
  pointer-events: none;
}
html.dark .calculator-content-head__title {
  color: white;
}
@media only screen and (max-width: 768px) {
  .calculator-content-head {
    padding: 16px;
  }
}

.calculator-content-body {
  padding: 0 32px 0;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  gap: 20px 16px;
}
@media only screen and (max-width: 768px) {
  .calculator-content-body {
    padding: 0 16px;
  }
}

html.dark .calculator-content + .calculator-content:not(.calculator-content--footer):not(.calculator-content--gray) {
  border-top: 1px solid #374151;
}

.settings-table {
  position: relative;
  border-collapse: collapse;
}
.settings-table::after {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  transition: border 0.3s ease;
  border: 1px solid;
  border-radius: 6px;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid #D1D5DB;
}
.settings-table td {
  font-size: 0.75rem;
  line-height: 1rem;
  padding: 0.5rem;
  border-bottom: 1px solid #D1D5DB;
  border-right: 1px solid #D1D5DB;
  background: #F9FAFB;
  text-align: center;
  width: 14.2857142857%;
  max-width: 14.2857142857%;
  min-width: 14.2857142857%;
}
.settings-table tr:last-child td {
  border-bottom: 0;
}
.settings-table tr:first-child td:first-child {
  border-top-left-radius: 6px;
}
.settings-table tr:first-child td:last-child {
  border-top-right-radius: 6px;
  border-right: 0;
}
.settings-table tr:last-child td:last-child {
  border-bottom-right-radius: 6px;
  border-right: 0;
}
.settings-table tr:last-child td:first-child {
  border-bottom-left-radius: 6px;
}
html.dark .settings-table::after {
  border-color: #4B5563;
}
html.dark .settings-table td {
  color: white;
  background: #374151;
  border-color: #4B5563;
}

.chart-wrapper {
  margin-top: -6px;
}
.chart-wrapper--padding-vertical {
  padding-top: 3.25rem;
  padding-bottom: 3.25rem;
}
@media only screen and (min-width: 768px) {
  .chart-wrapper--padding-horizontal {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.chart-wrapper--padding-top {
  padding-top: 1.5rem;
}
.chart-wrapper--donut {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  max-width: 376px;
  width: 100%;
}
.chart-wrapper--donut-row {
  align-items: center;
  gap: 2rem;
  flex-direction: row;
  width: -moz-fit-content;
  width: fit-content;
}
.chart-wrapper--donut-legend-pull .chart__donut-legend {
  margin-inline-start: -20px;
}
.chart-wrapper--donut-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.chart-wrapper--donut-center {
  margin-inline: auto;
}
.chart-wrapper--donut-compact .chart--donut {
  width: 180px !important;
  height: 180px !important;
  max-width: 180px;
  max-height: 180px;
  min-width: 180px;
  min-height: 180px;
}
.chart-wrapper--loan {
  height: 552px;
}
.chart-wrapper--loan canvas {
  height: 100%;
}
.chart-wrapper--loan-simple {
  height: 438px;
}
.chart-wrapper--loan-credit {
  height: 307px;
}
.chart-wrapper--horizontal {
  gap: 2rem;
}
.chart-wrapper--horizontal .chart--donut {
  margin: -30px;
}
.chart-wrapper:not(.chart-wrapper:last-child) {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767.9px) {
  .chart-wrapper--donut {
    margin: 0 auto;
  }
}

.chart {
  width: 100% !important;
  max-height: 303px;
  height: 303px;
}
.chart__legend {
  display: flex;
  justify-content: space-between;
  margin-top: 0.5rem;
}
.chart__legend--padding-vertical {
  padding-top: 3.25rem;
  padding-bottom: 3.25rem;
}
@media only screen and (min-width: 768px) {
  .chart__legend--padding-horizontal {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.chart__legend--around {
  justify-content: space-around;
}
.chart__axis-title {
  text-align: center;
  margin-top: 0.25rem;
}
.chart__donut-legend {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-top: 0.5rem;
}
.chart__donut-legend--col {
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
}
.chart__donut-legend-item {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.chart__text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 337px;
}
.chart__text p:first-child {
  margin-bottom: 2px;
}
.chart__text--full {
  max-width: none;
}
.chart--donut {
  max-width: 220px;
  max-height: 220px;
  min-width: 220px;
  min-height: 220px;
  width: 220px;
  height: 220px;
  margin: -30px 0 -30px -30px;
}
.chart--donut-small {
  max-width: 145px;
  max-height: 145px;
  width: 145px;
  height: 145px;
  min-width: 145px;
  min-height: 145px;
}
.chart--donut-bigger {
  max-width: 280px;
  max-height: 280px;
  width: 280px;
  height: 280px;
  min-width: 280px;
  min-height: 280px;
  margin: -30px;
}
.chart--loan {
  height: 524px;
  max-height: 524px;
}
.chart--loan-simple {
  height: 307px;
  max-height: 307px;
}
.chart--financial {
  height: 460px;
  max-height: 460px;
}
.chart--loan-credit {
  height: 460px;
  max-height: 460px;
}
.chart--tall {
  height: 460px;
  max-height: 460px;
}

.chart-summary {
  border-collapse: collapse;
  width: auto;
}
.chart-summary th,
.chart-summary td {
  text-align: start;
  vertical-align: baseline;
  font-weight: inherit;
  white-space: nowrap;
  padding: 0;
}
.chart-summary td {
  padding-inline-start: 1.5rem;
}

.result-chart {
  height: 1rem;
  width: 1.5rem;
  border-radius: 4px;
}
.result-chart--yellow {
  background-color: #8B5CF6;
}
.result-chart--purple {
  background-color: #14B8A6;
}
.result-chart--sky {
  background-color: #F97316;
}
.result-chart--teal {
  background-color: #2DD4BF;
}
.result-chart--blue {
  background-color: #3B82F6;
}
html.dark .result-chart--yellow {
  background-color: #7C3AED;
}
html.dark .result-chart--purple {
  background-color: #0D9488;
}
html.dark .result-chart--sky {
  background-color: #EA580C;
}
html.dark .result-chart--teal {
  background-color: #0D9488;
}
html.dark .result-chart--blue {
  background-color: #2563EB;
}

.chart-tooltip {
  position: absolute;
  padding: 0.5rem 1rem;
  background: white;
  border: 1px solid #374151;
  border-radius: 6px;
  pointer-events: none;
  transition: 0.3s ease;
  box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.chart-tooltip__text {
  color: #111827;
  font-size: 0.75rem;
  line-height: 1rem;
}
.chart-tooltip__text--gray {
  color: #6B7280;
}
html.dark .chart-tooltip {
  background: #4B5563;
  border: 1px solid #1F2937;
}
html.dark .chart-tooltip__text {
  color: white;
}
html.dark .chart-tooltip__text--gray {
  color: #D1D5DB;
}

.loan-chart {
  padding: 0.5rem 1rem;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 10px 10px -5px rgba(0, 0, 0, 0.04);
  pointer-events: none;
  transition: 0.3s ease;
  z-index: 46;
}
.loan-chart__title {
  font-size: 14px;
  line-height: 20px;
  color: #6B7280;
  font-weight: normal;
  text-align: left;
}
.loan-chart__title--card {
  color: #111827;
  font-weight: 700;
}
.loan-chart__title--center {
  text-align: center;
}
.loan-chart__text {
  font-size: 14px;
  line-height: 20px;
  color: #111827;
}
html.dark .loan-chart {
  background-color: #4B5563;
}
html.dark .loan-chart__title {
  color: #D1D5DB;
}
html.dark .loan-chart__text {
  color: white;
}

.dice {
  padding: 1rem;
  border-radius: 6px;
  background: #EDE9FE;
  border: 1px solid #DDD6FE;
  width: 80px;
  height: 80px;
  display: grid;
  grid-template-columns: repeat(3, 12px);
  grid-template-rows: repeat(3, 12px);
  gap: 6px;
}
.dice--1 {
  grid-template-areas: ". . ." ". a ." ". . .";
}
.dice--1 .dice-point:nth-child(1) {
  display: block;
}
.dice--2 {
  grid-template-areas: ". . a" ". . ." "b . .";
}
.dice--2 .dice-point:nth-child(1),
.dice--2 .dice-point:nth-child(2) {
  display: block;
}
.dice--3 {
  grid-template-areas: ". . a" ". b ." "c . .";
}
.dice--3 .dice-point:nth-child(1),
.dice--3 .dice-point:nth-child(2),
.dice--3 .dice-point:nth-child(3) {
  display: block;
}
.dice--4 {
  grid-template-areas: "a . b" ". . ." "c . d";
}
.dice--4 .dice-point:nth-child(1),
.dice--4 .dice-point:nth-child(2),
.dice--4 .dice-point:nth-child(3),
.dice--4 .dice-point:nth-child(4) {
  display: block;
}
.dice--5 {
  grid-template-areas: "a . b" ". c ." "d . e";
}
.dice--5 .dice-point:nth-child(1),
.dice--5 .dice-point:nth-child(2),
.dice--5 .dice-point:nth-child(3),
.dice--5 .dice-point:nth-child(4),
.dice--5 .dice-point:nth-child(5) {
  display: block;
}
.dice--6 {
  grid-template-areas: "a . b" "c . d" "e . f";
}
.dice--6 .dice-point {
  display: block;
}
html.dark .dice {
  background: #4C1D95;
  border: none;
}

.dice-point {
  border-radius: 100%;
  background: #5B21B6;
  width: 0.75rem;
  height: 0.75rem;
  display: none;
}
.dice-point:nth-child(1) {
  grid-area: a;
}
.dice-point:nth-child(2) {
  grid-area: b;
}
.dice-point:nth-child(3) {
  grid-area: c;
}
.dice-point:nth-child(4) {
  grid-area: d;
}
.dice-point:nth-child(5) {
  grid-area: e;
}
.dice-point:nth-child(6) {
  grid-area: f;
}
html.dark .dice-point {
  background: #EDE9FE;
}

.time-container {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.time-container__col {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  gap: 32px;
}
.time-container__block {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0588235294), 0px 1px 3px 0px rgba(0, 0, 0, 0.1019607843);
  overflow: hidden;
}
.time-container__block-inner {
  display: flex;
  flex-direction: column;
  padding: 24px 32px;
  gap: 12px;
}
.time-container__row {
  display: flex;
}
.time-container__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
  text-align: left;
  margin-bottom: 12px;
  color: #111827;
}
.time-container__text {
  font-size: 10px;
  font-weight: 400;
  line-height: 14px;
  text-align: center;
  color: #6b7280;
}
.time-container__map {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -o-object-position: center center;
     object-position: center center;
  height: 312px;
}
.time-container__info {
  display: flex;
  padding: 20px 24px;
  gap: 16px;
}
.time-container__info span:first-child {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
  color: #6B7280;
  min-width: 110px;
}
.time-container__info span:last-child {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: left;
  color: #111827;
}
.time-container__info:nth-child(even) {
  background: #F9FAFB;
}

.time-values__time {
  font-size: 48px;
  font-weight: 800;
  line-height: 48px;
  text-align: center;
  color: #000;
}
.time-values__timezone {
  font-family: Inter;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
  color: #6B7280;
}
.time-values__week {
  font-size: 24px;
  font-weight: 800;
  line-height: 32px;
  text-align: center;
  color: #000;
}
.time-values__dayzone {
  display: flex;
  flex-direction: column;
  padding: 16px 0px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}
.time-values__dayzone:nth-child(odd) {
  background: #FFFBEB;
}
.time-values__dayzone:nth-child(even) {
  background: #EFF6FF;
}
.time-values__dayzone p:nth-child(1) {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
  color: #6B7280;
}
.time-values__dayzone p:nth-child(3) {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  color: #111827;
}
.time-values__degree {
  font-size: 30px;
  font-weight: 600;
  line-height: 36px;
  text-align: left;
  color: #111827;
}
.time-values__degree-small {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
  color: #6B7280;
}

.time-weather {
  display: flex;
  align-items: center;
  gap: 24px;
}
.time-weather__main {
  padding-right: 10px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.time-weather__details {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.time-weather__row {
  display: flex;
  gap: 16px;
}
.time-weather__detail {
  gap: 8px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.time-weather__detail:first-child {
  min-width: 70px;
}
.time-weather__detail span {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
  color: #6B7280;
}

.time-range {
  margin-top: 24px;
}
.time-range:last-child {
  margin-bottom: 32px;
}
.time-range__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
  white-space: nowrap;
  color: #374151;
}
.time-range__title::before, .time-range__title::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #D1D5DB;
}
.time-range__grid {
  margin-top: 16px;
  padding: 0px 24px;
  gap: 24px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.time-range__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.time-range__item p:nth-child(1) {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
  color: #6B7280;
}
.time-range__item p:nth-child(3) {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  color: #111827;
}
.time-range__item p:nth-child(4) {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
  color: #6B7280;
}

.fraction-wrapper {
  display: flex;
  flex-wrap: wrap;
  min-width: 73px;
  height: inherit;
  padding: 1px;
  gap: 1px;
  z-index: 1;
  margin-right: -1px;
}

.fraction-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF5E9;
  outline: 1px solid #FFD1A3;
  color: #C55F00;
  font-size: 1.5rem;
  line-height: 2rem;
  width: 35px;
  height: 36px;
  cursor: pointer;
}
.fraction-button:hover {
  background: #FFE8CC;
}
.fraction-button--only {
  width: 100%;
  height: 100%;
  background: #F9FAFB;
  outline-color: #D1D5DB;
  color: #6B7280;
  pointer-events: none;
}
html.dark .fraction-button {
  background: #ED7400;
  outline-color: #C55F00;
  color: white;
}
html.dark .fraction-button:hover {
  background: #C55F00;
}
html.dark .fraction-button--only {
  background: #374151;
  outline-color: #4B5563;
}

.fraction-radio {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: -1;
}
.fraction-radio:checked + .fraction-button {
  outline-color: #ED7400;
  z-index: 20;
  position: relative;
}
html.dark .fraction-radio:checked + .fraction-button {
  outline-color: #FFB570;
}

.fraction-text {
  gap: 0.25rem;
}
.fraction-text > p:first-child {
  padding-bottom: 4px;
  border-bottom: 1px solid #374151;
}
html.dark .fraction-text > p:first-child {
  border-color: white;
}

.fraction-chart {
  width: 100%;
  max-width: 88px;
  height: 100%;
  max-height: 88px;
}

.stopwatch {
  display: flex;
  gap: 4px;
  align-items: flex-end;
  justify-content: center;
}
.stopwatch__milliseconds {
  margin-bottom: 2px;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
  text-align: center;
}
.stopwatch__main {
  font-size: 4rem;
  font-weight: 700;
  line-height: 4rem;
  text-align: center;
}

#response ul, #response ol {
  padding-left: 20px;
  margin: 8px 0;
  list-style: disc;
}
#response ol {
  list-style: decimal;
}
#response li {
  margin-bottom: 4px;
}

.mortgage-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.mortgage-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mortgage-header__title {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1rem;
  letter-spacing: 0.025em;
  text-align: left;
  color: #6B7280;
}
.mortgage-header__last-update {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  text-align: left;
  color: #6B7280;
}

.mortgage-footer__text {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  text-align: left;
  color: #6B7280;
}
.mortgage-footer__text a {
  color: #ED7400;
}

.mortgage-list {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0588235294), 0px 1px 3px 0px rgba(0, 0, 0, 0.1019607843);
}

.mortgage-item {
  display: flex;
  padding: 0.5rem 1.5rem;
  background: #F9FAFB;
  gap: 1rem 2.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.mortgage-item + .mortgage-item {
  border-top: 1px solid #F3F4F6;
}
.mortgage-item__img {
  width: 6rem;
  min-width: 6rem;
  height: 6rem;
  min-height: 6rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  mix-blend-mode: multiply;
}
.mortgage-item__row {
  flex: 1 1 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  min-width: 256px;
}
.mortgage-item__row .mortgage-item__list {
  min-width: 0;
}
.mortgage-item__list {
  flex: 110px 1 0;
  padding-left: 1.5rem;
  min-width: 256px;
}
.mortgage-item__list--no-bullet {
  padding-left: 0;
  list-style: none;
}
.mortgage-item__item {
  flex: 110px 1 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  text-align: left;
  color: #111827;
}
.mortgage-item__item span {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 2.25rem;
  text-align: left;
  color: #ED7400;
}
.mortgage-item__list-item {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  text-align: left;
  color: #111827;
}
html.dark .mortgage-item {
  background: #1F2937;
}
html.dark .mortgage-item__list-item {
  color: #E5E7EB;
}
html.dark .mortgage-item__item {
  color: #E5E7EB;
}

.calculator {
  flex-grow: 1;
}
.calculator__container {
  gap: 24px;
  flex-direction: column;
}
.calculator__container--title {
  padding-top: 32px;
  padding-bottom: 32px;
  gap: 20px;
  align-items: center;
  flex-direction: row !important;
  padding: 1.25rem 1rem;
}
.calculator__container--title .calculator__ads--horiz {
  justify-self: center;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .calculator__container--title .calculator__ads--horiz {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  .calculator__container--title .calculator__ads--horiz {
    max-width: 480px;
    display: block;
  }
}
@media only screen and (min-width: 1280px) {
  .calculator__container--title .calculator__ads--horiz {
    max-width: 754px;
  }
}
@media only screen and (min-width: 1024px) {
  .calculator__container {
    flex-direction: row;
  }
  .calculator__container--main {
    display: grid;
    grid-template-columns: 380px minmax(556px, 100%);
  }
  .calculator__container--title {
    display: grid;
    grid-template-columns: 380px minmax(556px, 100%);
    gap: 24px;
  }
}
@media only screen and (min-width: 768px) {
  .calculator__container {
    padding: 0px 2rem;
  }
  .calculator__container--title {
    padding: 2rem;
  }
}
.calculator__ads--wide {
  width: 100% !important;
}
.calculator__ads--horiz {
  max-width: 728px;
  margin: 0 auto;
  padding: 0px 4rem;
  width: 100%;
  display: none;
}
@media only screen and (min-width: 768px) {
  .calculator__ads--horiz {
    display: flex;
  }
}
.calculator__ads--pc {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .calculator__ads--pc {
    display: flex;
  }
}
.calculator__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.calculator__name {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.calculator__logo {
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  background-color: #eef1f5;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.calculator__logo svg {
  width: 30px;
  height: 30px;
  display: block;
  color: #1F2937;
}
.calculator__logo svg * {
  color: inherit;
}
html.dark .calculator__logo {
  background-color: #273246;
  border-color: transparent;
}
html.dark .calculator__logo svg {
  color: white;
}
.calculator__title {
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: #111827;
  font-weight: 700;
}
.calculator__subtitle {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #6B7280;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .calculator__subtitle {
    display: none;
  }
}
html.dark .calculator__title {
  color: #E5E7EB;
}

.calculator-main {
  display: flex;
  gap: 32px;
  padding-bottom: 40px;
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  .calculator-main {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) {
  .calculator-main {
    padding-bottom: 56px;
  }
}
.calculator-main__title {
  text-transform: uppercase;
  color: #6B7280;
  letter-spacing: 0.025em;
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}
.calculator-main__ads-bottom {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .calculator-main__ads-bottom {
    display: block;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.calculator-main__container--mobile {
  display: flex;
  padding: 0px 1rem;
}
@media only screen and (min-width: 768px) {
  .calculator-main__container--mobile {
    display: none;
  }
}

.calculator-about {
  position: relative;
  padding: 1.5rem 1rem;
  background: white;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.calculator-about__updated {
  opacity: 0.6;
  font-size: 0.75rem !important;
  margin: -0.5em 0 16px !important;
}
.calculator-about__navigation {
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .calculator-about__navigation {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.calculator-about .calculator-illustration {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  position: relative;
  z-index: 10;
  margin-left: -1rem;
  margin-right: -1rem;
}
@media only screen and (max-width: 640px) {
  .calculator-about .calculator-illustration {
    width: 100vw;
  }
}
@media only screen and (min-width: 768px) {
  .calculator-about .calculator-illustration {
    width: 100%;
    min-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
.calculator-about .calculator-illustration img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
}
@media only screen and (min-width: 768px) {
  .calculator-about .calculator-illustration img {
    border-radius: 8px;
  }
}
.calculator-about__text-wrapper {
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1rem 1.5rem;
  background: white;
  gap: 0.75rem;
  position: relative;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .calculator-about__text-wrapper {
    padding: 1.5rem;
  }
}
.calculator-about__wrapper {
  position: relative;
  z-index: 1;
  padding-top: 32px;
  background-color: white;
}
html.dark .calculator-about__wrapper {
  background-color: #1F2937;
}
.calculator-about__wrapper > * {
  max-width: 40rem;
}
.calculator-about__wrapper .katex-display {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.5em 0;
  margin: 0.5em 0;
}
.calculator-about__wrapper .katex svg,
.calculator-about__wrapper .katex svg * {
  color: inherit;
}
.calculator-about ol,
.calculator-about ul {
  padding-inline-start: 1.625em;
}
.calculator-about__toc-box {
  background: #F3F4F6;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  position: relative;
  z-index: 1;
}
.calculator-about__toc-box > :last-child {
  margin-bottom: 0;
}
html.dark .calculator-about__toc-box {
  background: #374151;
}
.calculator-about__toc-title {
  font-size: 1.125em !important;
  margin-bottom: 0.5em !important;
}
.calculator-about__toc {
  list-style: none;
  counter-reset: toc;
  padding-inline-start: 0.25rem !important;
  position: relative;
  z-index: 1;
}
.calculator-about__toc li {
  margin: 0;
  padding: 0 !important;
  font-size: 0.875rem !important;
}
.calculator-about__toc li::before {
  color: #6B7280;
  font-variant-numeric: tabular-nums;
  margin-inline-end: 0.375em;
}
.calculator-about__toc > li {
  margin: 0.125em 0;
  counter-increment: toc;
}
.calculator-about__toc > li::before {
  content: counter(toc) ".";
}
.calculator-about__toc > li > a {
  color: #374151;
}
.calculator-about__toc > li > a:hover {
  color: #ED7400;
}
html.dark .calculator-about__toc > li > a {
  color: #D1D5DB;
}
html.dark .calculator-about__toc > li > a:hover {
  color: #FFB570;
}
.calculator-about__toc ol {
  padding-top: 0 !important;
  padding-inline-start: 1.25rem !important;
  list-style: none;
  counter-reset: toc-sub;
}
.calculator-about__toc ol > li {
  counter-increment: toc-sub;
}
.calculator-about__toc ol > li::before {
  content: counter(toc) "." counters(toc-sub, ".");
}
.calculator-about__toc ol a {
  font-size: 0.8125rem;
  color: #4B5563;
}
.calculator-about__toc ol a:hover {
  color: #ED7400;
}
html.dark .calculator-about__toc ol a {
  color: #9CA3AF;
}
html.dark .calculator-about__toc ol a:hover {
  color: #FFB570;
}
.calculator-about a {
  color: #ED7400;
}
.calculator-about a:hover {
  color: #C55F00;
}
html.dark .calculator-about a {
  color: #FF9838;
}
html.dark .calculator-about a:hover {
  color: #FFB570;
}
.calculator-about li {
  padding-inline-start: 0.375em;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
.calculator-about p,
.calculator-about li {
  font-size: 1rem;
  line-height: 1.6;
  text-wrap: pretty;
}
.calculator-about li {
  line-height: 1.45;
}
@media only screen and (max-width: 767px) {
  .calculator-about li {
    font-size: 0.875rem;
  }
}
.calculator-about p {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.calculator-about h1 {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.calculator-about h2 {
  font-weight: 600;
  font-size: 1.5em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.25;
}
.calculator-about h3 {
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}
.calculator-about h4 {
  font-weight: 600;
  font-size: 1.05em;
  margin-top: 1.4em;
  margin-bottom: 0.4em;
  line-height: 1.4;
}
.calculator-about h1,
.calculator-about h2,
.calculator-about h3,
.calculator-about h4 {
  text-wrap: balance;
}
.calculator-about table {
  border-collapse: collapse;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
  font-variant-numeric: tabular-nums;
}
.calculator-about td,
.calculator-about th {
  padding: 1rem;
  font-size: 14px;
  line-height: 20px;
  text-align: left;
  font-weight: 500;
  color: #111827;
}
.calculator-about td:first-child {
  font-weight: 400;
  color: #374151;
  white-space: nowrap;
}
.calculator-about th {
  font-weight: 600;
}
.calculator-about thead {
  border-bottom: 1px solid #E5E7EB;
}
.calculator-about tr:nth-child(even) {
  background-color: #F9FAFB;
}
.calculator-about *:first-child {
  margin-top: 0;
}
.calculator-about img {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .calculator-about {
    padding: 2rem 3rem;
    border-radius: 8px;
  }
}
html.dark .calculator-about {
  background-color: #1F2937;
}
html.dark .calculator-about p,
html.dark .calculator-about mjx-c {
  color: #D1D5DB;
}
html.dark .calculator-about mjx-line,
html.dark .calculator-about mjx-box {
  border-top-color: #D1D5DB;
}
html.dark .calculator-about h2,
html.dark .calculator-about h3,
html.dark .calculator-about h4,
html.dark .calculator-about h5 {
  color: white;
}
html.dark .calculator-about__text-wrapper {
  background: #1F2937;
}
html.dark .calculator-about li {
  color: #D1D5DB;
}
html.dark .calculator-about th {
  color: #D1D5DB;
}
html.dark .calculator-about td {
  color: #D1D5DB;
}
html.dark .calculator-about td:first-child {
  color: #9CA3AF;
}
html.dark .calculator-about tr:nth-child(even) {
  background-color: #374151;
}
html.dark .calculator-about thead {
  border-bottom: 1px solid #374151;
}

.calculator-aside {
  gap: 40px;
  width: 100%;
}
.calculator-aside__title {
  text-transform: uppercase;
  color: #6B7280;
  letter-spacing: 0.025em;
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}
@media only screen and (min-width: 1024px) {
  .calculator-aside {
    max-width: 380px;
  }
}
.calculator-aside__container--pc {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .calculator-aside__container--pc {
    display: flex;
  }
}
.calculator-aside__container--mobile {
  display: flex;
  padding: 0px 1rem;
}
@media only screen and (min-width: 1024px) {
  .calculator-aside__container--mobile {
    display: none;
  }
}

.calculator-related {
  align-items: center;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.calculator-related:not(.calculator-related:last-child) {
  margin-bottom: 20px;
}
.calculator-related__img {
  width: 4rem;
  min-width: 4rem;
  height: 58px;
  background-color: #eef1f5;
  border: 1px solid #D1D5DB;
  border-right: 0;
  border-radius: 6px 0px 0px 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.calculator-related__img svg {
  width: 44px;
  height: 44px;
  display: block;
  color: #1F2937;
}
.calculator-related__img svg * {
  color: inherit;
}
html[dir=rtl] .calculator-related__img {
  border-radius: 0px 6px 6px 0;
  border-right: 1px solid #D1D5DB;
  border-left: 0;
}
.calculator-related__info {
  padding: 0.5rem 1rem;
  background: white;
  border: 1px solid #D1D5DB;
  border-left: 0;
  border-radius: 0px 6px 6px 0;
  width: 100%;
  height: 58px;
}
html[dir=rtl] .calculator-related__info {
  border-radius: 6px 0 0 6px;
}
.calculator-related__text {
  font-size: 0.875rem;
  line-height: 1.25rem;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  color: #6B7280;
}
.calculator-related__text--title {
  color: #111827;
  font-weight: 500;
}
html.dark .calculator-related__img {
  background-color: #273246;
  border-color: transparent;
}
html.dark .calculator-related__img svg {
  color: white;
}
html.dark .calculator-related__info {
  background: #374151;
  border-color: #374151;
}
html.dark .calculator-related__text--title {
  color: white;
}

.calculator-apps {
  flex-wrap: wrap;
  gap: 0.75rem;
}
.calculator-apps__row {
  max-width: 336px;
  width: 100%;
  gap: 0.75rem;
}
.calculator-apps__row:nth-child(1) {
  order: 1;
}
@media only screen and (min-width: 1024px) {
  .calculator-apps__row:nth-child(1) {
    order: 1;
  }
}
.calculator-apps__row:nth-child(2) {
  order: 3;
}
@media only screen and (min-width: 1024px) {
  .calculator-apps__row:nth-child(2) {
    order: 2;
  }
}
.calculator-apps__row:nth-child(3) {
  order: 2;
}
@media only screen and (min-width: 1024px) {
  .calculator-apps__row:nth-child(3) {
    order: 3;
  }
}
.calculator-apps__link {
  max-width: 162px;
  width: 100%;
}
.calculator-apps__img {
  width: 100%;
}

#ask-ai-turnstile {
  display: flex;
  justify-content: center;
}
#ask-ai-turnstile:empty, #ask-ai-turnstile[hidden] {
  display: none;
}

#question.input-field__input--textarea {
  min-height: 100px;
}

.ask-ai-calc {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -12px 24px 20px;
  padding: 12px 14px;
  border: 1px solid #FFD1A3;
  border-radius: 8px;
  background: #FFF5E9;
  text-decoration: none;
}
.ask-ai-calc[hidden] {
  display: none;
}
.ask-ai-calc:hover, .ask-ai-calc:focus-visible {
  border-color: #FF8802;
}
.ask-ai-calc__img {
  flex: none;
  width: 40px;
  height: 40px;
}
.ask-ai-calc__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ask-ai-calc__hint {
  font-size: 13px;
  line-height: 18px;
  color: #4B5563;
}
.ask-ai-calc__name {
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  color: #C55F00;
}
.ask-ai-calc:not([hidden]) + .ask-ai-quota {
  margin-top: 0;
}
html.dark .ask-ai-calc {
  border-color: #4B5563;
  background: #374151;
}
html.dark .ask-ai-calc:hover, html.dark .ask-ai-calc:focus-visible {
  border-color: #FF9838;
}
html.dark .ask-ai-calc .ask-ai-calc__hint {
  color: #D1D5DB;
}
html.dark .ask-ai-calc .ask-ai-calc__name {
  color: #FFB570;
}

.ask-ai-quota {
  margin-top: -12px;
  padding: 0 24px 20px;
  font-size: 13px;
  line-height: 18px;
  color: #6B7280;
  text-align: right;
}
.ask-ai-quota[hidden] {
  display: none;
}

.calculator-results,
.calculator-results__scroll {
  display: contents;
}

.calculator-results__peek,
.calculator-form-peek,
.drawer-hscroll,
.calculator__ads--under-form,
.calculator-drawer-topad,
.calculator-drawer-bottomad,
.calculator-fullscreen {
  display: none;
}

@media only screen and (min-width: 768px) {
  .calculator-form-error {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .calculator__ads--under-form {
    display: block;
    width: 100%;
    margin-top: -16px;
    margin-bottom: -40px;
  }
  .calculator__ads--under-form .ads-leaderboard {
    max-width: 344px;
    padding: 6px 12px;
  }
  .calculator__ads--under-form .ads-leaderboard div {
    width: 320px;
    min-height: 100px;
    max-height: 102px;
  }
  .calculator__ads--under-form .ads-leaderboard ins {
    width: 320px;
    height: 100px;
  }
  .calculator-drawer-topad {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    z-index: 45;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s;
  }
  .calculator-drawer-topad .ads-leaderboard {
    max-width: 344px;
    padding: 6px 12px;
  }
  .calculator-drawer-topad .ads-leaderboard div {
    width: 320px;
    min-height: 100px;
    max-height: 102px;
  }
  .calculator-drawer-topad .ads-leaderboard ins {
    width: 320px;
    height: 100px;
  }
  html.drawer-open .calculator-drawer-topad {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .calculator-drawer-bottomad {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    z-index: 45;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s;
  }
  .calculator-drawer-bottomad .ads-leaderboard {
    max-width: 344px;
    padding: 6px 12px;
  }
  .calculator-drawer-bottomad .ads-leaderboard div {
    width: 320px;
    min-height: 100px;
    max-height: 102px;
  }
  .calculator-drawer-bottomad .ads-leaderboard ins {
    width: 320px;
    height: 100px;
  }
  html.drawer-open .calculator-drawer-bottomad {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .calculator-drawer-bottomad--tight {
    display: none !important;
  }
  html.drawer-open .calculator__ads--under-form,
  html.drawer-open .calculator__ads--wide {
    visibility: hidden;
  }
  html.drawer-open ins.adsbygoogle[data-anchor-status],
  html.drawer-open ins.adsbygoogle.adsbygoogle-noablate {
    display: none !important;
  }
  .calculator-drawer-topad--tight {
    display: none !important;
  }
  .calculator-setting__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .calculator-fullscreen {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    padding: 4px;
    margin: -4px 0;
    background: transparent;
    color: #6B7280;
    cursor: pointer;
  }
  .calculator-fullscreen .calculator-fullscreen__compress {
    display: none;
  }
  .calculator-fullscreen svg, .calculator-fullscreen svg * {
    color: inherit;
  }
  html.dark .calculator-fullscreen {
    color: #E5E7EB;
  }
  html.is-fullscreen .calculator-fullscreen .calculator-fullscreen__expand {
    display: none;
  }
  html.is-fullscreen .calculator-fullscreen .calculator-fullscreen__compress {
    display: block;
  }
  .calculator-setting {
    position: relative;
    border-top: 1px solid #E5E7EB;
    border-bottom: 1px solid #E5E7EB;
  }
  html.dark .calculator-setting {
    border-color: #374151;
  }
  .calculator-setting, .calculator-setting__title,
  .calculator-setting .calculator-content:first-child,
  .calculator-setting .calculator-content--footer {
    border-radius: 0;
  }
  #calculator_form .calculator-setting__title,
  #calculator_form .calculator-content {
    padding-right: 36px;
  }
  #calculator_form .calculator-content--bookmarks {
    padding-right: 20px !important;
  }
  .calculator-form-peek {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: fixed;
    top: 136px;
    right: 0;
    height: 300px;
    width: 20px;
    background: #ED7400;
    border-radius: 10px 0 0 10px;
    color: #fff;
    border: 0;
    padding: 14px 0;
    overflow: hidden;
    cursor: pointer;
    z-index: 30;
  }
  #result-drawer.calculator-results {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    background: transparent;
    overflow: hidden;
    z-index: 45;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  #result-drawer.calculator-results.calculator-results--open {
    transform: translateX(0);
  }
  #result-drawer .calculator-results__scroll {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1 1 auto;
    min-height: 0;
    margin-left: 20px;
    padding: 0;
    background: #F3F4F6;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  html.dark #result-drawer .calculator-results__scroll {
    background: #1F2937;
  }
  #result-drawer .result-table__wrapper {
    scrollbar-width: none;
  }
  #result-drawer .result-table__wrapper::-webkit-scrollbar {
    display: none;
  }
  #result-drawer .table-cell--only-title,
  .calculator-setting__title {
    border-bottom-color: #E5E7EB;
  }
  html.dark #result-drawer .table-cell--only-title,
  html.dark .calculator-setting__title {
    border-bottom-color: #4B5563;
  }
  #result-drawer .table-cell--only-title,
  #result-drawer th.indigo,
  #result-drawer .result-table__cell--uppercase,
  .calculator-setting__title {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  #result-drawer .result-table__wrapper:has(+ .drawer-hscroll) tr:last-child > * {
    border-bottom: 0;
  }
  .drawer-hscroll {
    display: block;
    position: relative;
    height: 4px;
    margin: 0;
    border-radius: 2px;
    background: #D1D5DB;
  }
  html.dark .drawer-hscroll {
    background: #4B5563;
  }
  .drawer-hscroll__thumb {
    position: absolute;
    top: 0;
    bottom: 0;
    border-radius: 2px;
    background: #374151;
  }
  html.dark .drawer-hscroll__thumb {
    background: #E5E7EB;
  }
  .calculator-drawer-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 44;
    background: rgba(17, 24, 39, 0.2);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s;
  }
  html.drawer-open .calculator-drawer-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  #result-drawer .calculator-results__peek {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: absolute;
    top: 0;
    left: 0;
    height: 300px;
    max-height: 100%;
    width: 20px;
    border-radius: 10px 0 0 10px;
    padding: 14px 0;
    background: #ED7400;
    color: #fff;
    overflow: hidden;
    z-index: 1;
  }
  .calculator-results__peek-chevron {
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
  }
  .calculator-results__peek-labels {
    display: grid;
    justify-items: center;
  }
  .calculator-results__peek-labels .calculator-results__peek-label {
    grid-area: 1/1;
  }
  .calculator-results__peek-label--ghost {
    visibility: hidden;
  }
  .calculator-results__peek-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    max-height: calc(100dvh - 64px);
    overflow: hidden;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  html[dir=rtl] .calculator-results__peek-label {
    letter-spacing: 0;
  }
  html[lang=ja] .calculator-results__peek-label, html[lang=zh] .calculator-results__peek-label, html[lang=ko] .calculator-results__peek-label {
    transform: none;
    text-orientation: upright;
    letter-spacing: 0.15em;
  }
  html.drawer-open,
  html.drawer-open body {
    overflow: hidden;
  }
}
#result-drawer .result-table th,
#result-drawer .result-table td {
  border-color: #E5E7EB;
}
html.dark #result-drawer .result-table th,
html.dark #result-drawer .result-table td {
  border-color: #4B5563;
}

html.dark #result-drawer .result-table__open {
  border-top-color: #4B5563 !important;
}

#result-drawer .result-table__wrapper:not(:first-child) {
  border-top-color: #E5E7EB;
}
html.dark #result-drawer .result-table__wrapper:not(:first-child) {
  border-top-color: #4B5563;
}

#result-drawer .result-table__wrapper:has(+ .result-table__wrapper) .result-table tr:last-child > th,
#result-drawer .result-table__wrapper:has(+ .result-table__wrapper) .result-table tr:last-child > td,
#result-drawer .row:has(+ .result-table__wrapper) .result-table tr:last-child > th,
#result-drawer .row:has(+ .result-table__wrapper) .result-table tr:last-child > td {
  border-bottom-width: 0;
}

#result-drawer .table-cell--age + .result-table__dialog {
  border-top: 1px solid #E5E7EB;
}
html.dark #result-drawer .table-cell--age + .result-table__dialog {
  border-top-color: #4B5563;
}

@media only screen and (min-width: 768px) {
  .categories {
    padding: 2rem 0;
  }
}
.categories__container {
  margin: 0 auto;
  padding: 1.25rem 1rem;
}
@media only screen and (min-width: 768px) {
  .categories__container {
    padding: 1.25rem 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .categories__container {
    padding: 4rem 2rem 8rem;
  }
}
.categories__suptitle {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  color: #ED7400;
}
.categories__title {
  font-size: 1.875rem;
  line-height: 2.25rem;
  color: #111827;
  font-weight: 800;
  text-align: center;
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 1024px) {
  .categories__title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}
.categories__description {
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: #6B7280;
  text-align: center;
  max-width: 813px;
  margin: 0 auto 3rem;
}
.categories__description a {
  color: #ED7400;
}
.categories__description a:hover {
  color: #C55F00;
}
.categories__grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}
@media only screen and (min-width: 640px) {
  .categories__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  .categories__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
html.dark .categories {
  background: #111827;
}
html.dark .categories__title {
  color: white;
}
html.dark .categories__description {
  color: #D1D5DB;
}
html.dark .categories__description a {
  color: #FF9838;
}
html.dark .categories__description a:hover {
  color: #FFB570;
}

.category {
  padding-top: 1.5rem;
  position: relative;
  width: 100%;
}
.category__icon {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  position: absolute;
  width: 48px;
  height: 48px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 8px;
  background-color: #eef1f5;
  border: 1px solid #D1D5DB;
  display: flex;
  align-items: center;
  justify-content: center;
}
.category__icon svg {
  width: 36px;
  height: 36px;
  display: block;
  color: #1F2937;
}
.category__icon svg * {
  color: inherit;
}
.category__info {
  padding: 3.5rem 1.5rem 2rem;
  border-radius: 8px;
  background: #F9FAFB;
  width: 100%;
  height: 100%;
}
.category__title {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 500;
  text-align: center;
  color: #111827;
  margin-bottom: 1.25rem;
}
.category__description {
  font-size: 1rem;
  line-height: 1.5rem;
  color: #6B7280;
}
html.dark .category__icon {
  background-color: #273246;
  border-color: transparent;
}
html.dark .category__icon svg {
  color: white;
}
html.dark .category__info {
  background: #1F2937;
}
html.dark .category__title {
  color: white;
}

.page-about {
  flex-grow: 1;
}
@media only screen and (min-width: 768px) {
  .page-about {
    padding: 2rem 0;
  }
}
.page-about__container {
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .page-about__container {
    padding: 0 1rem;
  }
}
@media only screen and (min-width: 1024px) {
  .page-about__container {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about__container {
    max-width: 100%;
  }
}
html.dark .page-about {
  background: #111827;
}

.about {
  padding: 2rem 1rem;
  position: relative;
  background: white;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .about {
    padding: 2rem 1.5rem;
  }
}
.about__wrapper {
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.06), 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .about__wrapper {
    border-radius: 0.5rem;
  }
}
.about__decoration {
  position: absolute;
  display: none;
}
@media only screen and (min-width: 768px) {
  .about__decoration {
    display: block;
  }
}
.about__decoration--first {
  top: 48px;
  right: -290px;
}
.about__decoration--second {
  bottom: 60px;
  left: -290px;
}
.about__decoration path {
  fill: #E5E7EB;
}
.about__container {
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0 auto;
  max-width: 779px;
}
@media only screen and (min-width: 768px) {
  .about__container {
    gap: 0.5rem;
  }
}
.about__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .about__header {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
.about__suptitle {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #ED7400;
  letter-spacing: 0.025em;
}
@media only screen and (min-width: 768px) {
  .about__suptitle {
    text-align: center;
  }
}
.about__title {
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.025em;
  font-size: 2.25rem;
  line-height: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .about__title {
    text-align: center;
  }
}
.about__text-container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background: white;
}
@media only screen and (min-width: 768px) {
  .about__text-container {
    padding: 2rem 1.5rem;
  }
}
.about__col {
  width: 100%;
  gap: 1.5rem;
}
@media only screen and (min-width: 1024px) {
  .about__col {
    width: 50%;
  }
}
.about p {
  font-size: 1.125rem;
  line-height: 2rem;
  color: #6B7280;
}
.about a {
  color: #ED7400;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: 0.15s;
}
.about a:hover {
  color: #C55F00;
}
.about strong {
  color: #111827;
}
.about ol,
.about ul {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.about ol li,
.about ul li {
  position: relative;
  list-style: none;
  padding-left: 30px;
  color: #6B7280;
  font-size: 1.125rem;
  line-height: 2rem;
}
.about ol li::before,
.about ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: block;
  background-color: #E5E7EB;
  position: absolute;
  top: 13px;
  left: 4px;
}
.about h2:not(.about__title) {
  color: #000;
  font-size: 30px;
  line-height: 40px;
  font-weight: 700;
  margin-top: 32px;
  margin-bottom: 8px;
}
.about blockquote {
  padding-left: 22px;
  margin: 6px 0px;
  position: relative;
}
.about blockquote p {
  color: #111827;
  line-height: 2rem;
  font-weight: 500;
  font-style: italic;
}
.about blockquote::before {
  content: "";
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  background-color: #E5E7EB;
}
html.dark .about {
  background: #1F2937;
}
html.dark .about__decoration path {
  fill: #374151;
}
html.dark .about__title {
  color: white;
}
html.dark .about p {
  color: #D1D5DB;
}
html.dark .about p strong {
  color: #D1D5DB;
}
html.dark .about ol li,
html.dark .about ul li {
  color: #D1D5DB;
}
html.dark .about a {
  color: #ED7400;
}
html.dark .about h2:not(.about__title) {
  color: white;
}
html.dark .about__text-container {
  background: #1F2937;
}
html.dark .about blockquote::before {
  background-color: #E5E7EB;
}

.contacts {
  padding: 3rem 1rem;
  background: #F9FAFB;
}
@media only screen and (min-width: 768px) {
  .contacts {
    padding: 3rem;
  }
}
.contacts__container {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 1024px) {
  .contacts__container {
    gap: 1.5rem;
    flex-direction: row;
  }
}
.contacts__column {
  width: 100%;
  gap: 2rem;
}
@media only screen and (min-width: 1024px) {
  .contacts__column {
    width: 50%;
  }
}
.contacts__column--form {
  gap: 1.5rem;
}
.contacts__column--form .button {
  height: 50px;
  padding-left: 25px;
  padding-right: 25px;
  max-width: 104px;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-right: auto;
}
.contacts__header {
  gap: 0.75rem;
}
.contacts__title {
  font-weight: 800;
  color: #111827;
  font-size: 1.875rem;
  line-height: 2.25rem;
  letter-spacing: -0.025em;
}
.contacts__description {
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #6B7280;
}
@media only screen and (min-width: 1024px) {
  .contacts__description {
    color: #374151;
  }
}
.contacts__job {
  font-weight: 500;
  color: #111827;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.contacts__input {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  font-size: 1rem;
  line-height: 1.5rem;
  color: #374151;
  border: 1px solid #D1D5DB;
  background: white;
  border-radius: 6px;
  padding: 0px 17px;
  height: 50px;
}
.contacts__input::-moz-placeholder {
  color: #374151;
}
.contacts__input::placeholder {
  color: #374151;
}
.contacts__input--textarea {
  min-height: 122px;
  padding-top: 13px;
  padding-bottom: 13px;
  resize: vertical;
}
html.dark .contacts {
  background: #1F2937;
}
html.dark .contacts__title, html.dark .contacts__job {
  color: white;
}
html.dark .contacts__description {
  color: #6B7280;
}
html.dark .contacts__input {
  color: #6B7280;
  border-color: #4B5563;
  background: #374151;
}
html.dark .contacts__input::-moz-placeholder {
  color: #6B7280;
}
html.dark .contacts__input::placeholder {
  color: #6B7280;
}

.contacts-column {
  gap: 0.75rem;
}
.contacts-column__text {
  font-size: 1rem;
  line-height: 1.5rem;
  color: #6B7280;
}
@media only screen and (min-width: 1024px) {
  .contacts-column__text {
    color: #374151;
  }
}
.contacts-column__text--contacts {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.contacts-column--main {
  gap: 1.5rem;
}
html.dark .contacts-column__text {
  color: #6B7280;
}
html.dark .contacts-column__text path[stroke] {
  stroke: #6B7280;
}

html.dark .contacts-address__text {
  color: white;
}

.contact-layout {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-top: 24px;
}
@media (max-width: 767px) {
  .contact-layout {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }
}

.contact-form {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contact-form .input-field {
  border-radius: 8px;
}
.contact-form .input-field::after {
  border-radius: 8px;
}
.contact-form .input-field__input {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border-radius: 8px;
}
.contact-form__textarea {
  resize: vertical;
}
.contact-form__status {
  margin: 0;
  min-height: 1.25rem;
}

.contact-copy {
  flex: 1 1 0;
  min-width: 0;
}
.contact-copy p + p {
  margin-top: 1em;
}

.not-found {
  min-height: 100vh;
  min-width: 100vw;
  background: white;
  padding: 0px 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.not-found__container {
  gap: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .not-found__container {
    flex-direction: row;
    gap: 1.5rem;
  }
}
.not-found__404 {
  font-size: 2.25rem;
  line-height: 2.5rem;
  font-weight: 800;
  color: #ED7400;
}
.not-found__line {
  height: 100px;
  width: 0;
  border: 0;
  border-right: 1px solid #E5E7EB;
  display: none;
}
@media only screen and (min-width: 768px) {
  .not-found__line {
    display: block;
  }
}
.not-found__suptitle {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #ED7400;
  letter-spacing: 0.025em;
}
.not-found__title {
  font-size: 3rem;
  line-height: 1;
  font-weight: 800;
  color: #111827;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  letter-spacing: -0.025em;
}
@media only screen and (min-width: 768px) {
  .not-found__title {
    margin-top: 0.25rem;
  }
}
.not-found__description {
  font-size: 1rem;
  line-height: 1.5rem;
  color: #6B7280;
}
.not-found__link {
  margin-right: auto;
  margin-top: 2.5rem;
  padding: 0.5rem 0.75rem;
  background: #ED7400;
  color: white;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  border-radius: 6px;
}
.not-found__link:hover {
  background: #C55F00;
}
html.dark .not-found {
  background: #1F2937;
}
html.dark .not-found__line {
  border-color: #374151;
}
html.dark .not-found__title {
  color: white;
}

:root {
  --elbg: #000;
  --eltext: #fff;
}

html.dark-mode {
  --elbg: rgb(193, 255, 174);
  --eltext: #000;
}

.el {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
  margin: 2rem;
  background: var(--elbg);
  color: var(--eltext);
}

button {
  cursor: pointer;
}
