/* src/base.css */
:root,
html {
  --background-intense: black;
  --background: #181818;
  --background-lighter: #2e2e2e;
  --background-light: #707070;
  --foreground-intense: white;
  --foreground: #ededed;
  --foreground-lighter: #d8d8d8;
  --foreground-light: #b0b0b0;
  --accent: red;
  --foreground-on-accent: #fff;
  --control-background: var(--background-light);
  --control-height: 2.25rem;
  --control-focus: var(--accent);
  --control-hover: var(--foreground-intense);
  --control-disabled: #535353;
  --control-chrome: var(--foreground-lighter);
  --control: var(--control-chrome);
  --control-border-color: var(--foreground-lighter);
  --control-border-width: 1px;
  --control-padding: 0.3em;
  --font:
    "Segoe UI",
    "Open Sans",
    Verdana,
    Arial,
    Helvetica,
    sans-serif;
  --font-heading:
    "Segoe UI Light",
    "Open Sans",
    Verdana,
    Arial,
    Helvetica,
    sans-serif;
  --font-weight: 300;
  --breakpoint-smartphone: 768px;
  --border-radius-small: 0.15rem;
  --border-radius: 0.25rem;
  --border-radius-large: 0.5rem;
  --border-radius-big: 0.5rem;
  --gap-small: 0.6rem;
  --gap: 1rem;
  --gap-big: 2rem;
  --font-size-bigger: 1.1rem;
  --font-size-big: 1.4rem;
  --font-size-base: 1rem;
  --font-size-huge: 2rem;
  --font-size-smaller: 0.9rem;
  --font-size-small: 0.7rem;
  --accent-purple: #A200FF;
  --accent-purple-alt: #5859B9;
  --accent-dark-purple: #260930;
  --accent-red: #E51400;
  --accent-green: #339933;
  --accent-blue: #1BA1E2;
  --accent-marine: #034888;
  --accent-teal: #D54D34;
}
.is-light {
  --background: #F5F5F5;
  --background-light: #EDEDED;
  --foreground: #101010;
  --foreground-light: #494949;
  --accent: red;
  --foreground-on-accent: #fff;
  --control-background: #ACACAC;
  --control-foreground: var(--foreground);
  --control-height: 2.25rem;
  --control-highlight: #A6A6A6;
  --control-disabled: #535353;
  --input-border-color: var(--control-background);
  --input-border-width: 1px;
  --input-height: var(--control-height);
  --input-background: transparent;
  --input-foreground: var(--foreground);
  --font:
    "Segoe UI",
    "Open Sans",
    Verdana,
    Arial,
    Helvetica,
    sans-serif;
  --font-heading:
    "Segoe UI Light",
    "Open Sans",
    Verdana,
    Arial,
    Helvetica,
    sans-serif;
}
.has-accent-purple {
  --accent: #A200FF;
}
.has-accent-purple-alt {
  --accent: #5859B9;
}
.has-accent-dark-purple {
  --accent: #260930;
}
.has-accent-red {
  --accent: #E51400;
}
.has-accent-green {
  --accent: #339933;
}
.has-accent-blue {
  --accent: #1BA1E2;
}
.has-accent-marine {
  --accent: #034888;
}
.has-accent-teal {
  --accent: #D54D34;
}
html,
body {
  height: 100%;
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font);
  font-weight: normal;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
p,
pre,
figure,
ul,
ol {
  margin-bottom: var(--gap-small);
}
h1.heading {
  margin: 0;
  padding: 0;
  position: relative;
  line-height: 1em;
  letter-spacing: 0.01em;
  font-size: 3.6em;
  margin-bottom: 1.2em;
  font-weight: 300;
  text-transform: lowercase;
}
.property {
  font-size: 1.7rem;
  font-weight: 200;
  letter-spacing: 0.01em;
}
.property.is-smaller {
  font-size: 1.4rem;
}
.property > label {
  font-size: 0.6rem;
  display: block;
  margin-top: -0.3rem;
  margin-left: 0.1rem;
  text-transform: uppercase;
  filter: opacity(60%);
  letter-spacing: 0.1em;
}
.action {
  color: var(--accent);
  cursor: pointer;
}
*::-webkit-scrollbar {
  width: 0.5rem;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background-color: var(--background-light);
  border-radius: 20px;
}
.nowrap {
  white-space: nowrap;
  overflow-x: clip;
}
.svg-icon,
.svg-icon svg,
.autostyle i:not(.is-default),
.autostyle i:not(.is-default) svg {
  fill: currentColor;
  max-width: 1.2em;
  max-height: 1.2em;
  width: 1.2em;
  height: 1.2em;
}
.svg-icon {
  display: inline-flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  &.interactive {
    cursor: pointer;
    &:hover svg {
      fill: var(--control-hover);
    }
    &:focus svg {
      fill: var(--control-focus);
    }
  }
}
.svg-icon.is-big.has-border {
  border: 0.15rem solid;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  padding: 0.3em;
}
.svg-icon.is-small,
.svg-icon.is-small svg {
  max-width: 0.6em;
  max-height: 0.6em;
  width: 0.6em;
  height: 0.6em;
}
.svg-icon.is-big,
.svg-icon.is-big svg {
  max-width: 2.2em;
  max-height: 2.2em;
  width: 2.2em;
  height: 2.2em;
}

/* src/reset.css */
@layer reset {
  *,
  [popover],
  dialog {
    font-family: var(--font);
    font-size: var(--font-size);
    font-weight: var(--font-weight);
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: var(--foreground);
  }
}

/* src/lists.css */
.list {
  font-weight: normal;
  font-style: normal;
  box-sizing: border-box;
  border-collapse: collapse;
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  margin: 0;
  padding: 0;
  list-style: none;
  & > li {
    width: 100%;
    line-height: 1.0em;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0.4em;
    align-items: center;
    text-decoration: none;
    color: var(--foreground);
    white-space: nowrap;
    &:hover {
      color: var(--control-hover);
    }
    &:active {
      color: var(--control-focus);
    }
    & a,
    a:hover {
      list-style: none;
      font-style: normal;
      box-sizing: border-box;
      border-collapse: collapse;
      text-decoration: none;
      cursor: pointer;
      color: inherit;
      display: block;
    }
    & .is-sub {
      font-size: 0.5em;
      display: block;
      color: var(--foreground-light);
      margin-top: -0.5em;
    }
  }
  &.big > li {
    font-size: var(--font-size-big, 1.4rem);
  }
  &.small > li {
    font-size: var(--font-size-smaller, 0.9rem);
  }
}
.index,
.index ul,
.index ol,
.index .index {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  list-style: none;
  & ul,
  ol,
  .index {
    margin-left: var(--gap);
  }
}

/* src/typography.css */
html,
body {
  color: var(--foreground);
  font-family: var(--font);
  line-height: 1.5;
  font-weight: 300;
  font-style: normal;
  font-size: 20px;
  margin: 0;
  padding: 0;
}
.has-normal-text {
  color: var(--foreground);
  font-family: var(--font);
  line-height: 1.5;
  font-weight: 300;
  font-style: normal;
  font-size: 1rem;
}
.has-big-text {
  font-size: 1.5rem;
}
.has-small-text {
  font-size: 0.8rem;
}
h1:not(.is-default),
.is-hstyle-1 {
  font-size: 2.2rem;
  font-weight: 300;
}
h2:not(.is-default),
.is-hstyle-2 {
  font-size: 1.8rem;
  font-weight: 300;
}
h3:not(.is-default),
.is-hstyle-3 {
  font-size: 1.4rem;
  font-weight: normal;
}
h4:not(.is-default),
.is-hstyle-4 {
  font-size: 1.2rem;
  font-weight: 300;
  text-transform: uppercase;
}
.header {
  font-family: var(--font);
  font-size: 7rem !important;
  font-weight: 100;
  letter-spacing: 0.01em;
  margin-bottom: 2rem;
  color: var(--foreground-light);
  overflow-x: clip;
  white-space: nowrap;
}
.is-capitalized,
.is-capitalized {
  text-transform: capitalize;
}
.is-lowercase,
.is-lowercase {
  text-transform: lowercase;
}
.is-uppercase,
.is-uppercase {
  text-transform: uppercase;
}
a {
  text-decoration: none;
  color: var(--accent);
}
a:hover {
}

/* src/form.css */
.input,
.textarea {
  min-width: 1rem;
  width: 100%;
  background-color: transparent;
  border-width: var(--control-border-width, 1px);
  border-color: var(--control, #ccc);
  border-style: solid;
  border-radius: var(--border-radius, 4px);
  color: var(--foreground, #000);
  height: var(--control-height, 2.5rem);
  outline: 0;
  padding: 0 var(--control-padding, 0.5rem);
  margin: 0;
  box-sizing: border-box;
  font-family: inherit;
  &:hover {
    border-color: var(--control-hover, #999);
  }
  &:focus {
    border-color: var(--control-focus, #0066cc);
  }
}
.textarea {
  height: 20rem;
}
.label {
  font-size: 1em;
  display: block;
  margin-bottom: 0.18em;
}
.label.is-inline {
  display: inline-block;
}
input[type=range]:focus {
  outline: none;
}
input[type=range].input,
input[type=radio].input,
input[type=checkbox].input,
select.input {
  accent-color: var(--accent);
}
input[type=radio].input,
input[type=checkbox].input {
  width: 1.6em;
  height: 1.6em;
}
textarea.input {
  height: 8rem;
  min-height: 5rem;
}
select.input {
  & > option {
    background-color: var(--background);
    color: var(--foreground);
    line-height: 2em;
    height: 2em;
  }
}
.inset {
  padding-left: var(--gap-big);
  margin-left: var(--gap-small);
  padding-bottom: var(--gap);
  padding-top: var(--gap);
  border-left: var(--control-border-width) var(--control-border-color) solid;
}

/* src/buttons.css */
@layer base {
  .button,
  input[type=file].input::file-selector-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    border: var(--control-border-width) solid transparent;
    padding: 0 0.8em;
    height: var(--control-height);
    min-height: var(--control-height);
    background-color: var(--control-background);
    color: var(--foreground);
    outline: none;
    position: relative;
    text-decoration: none;
    cursor: pointer;
    border-radius: var(--border-radius);
    &:hover {
      border-color: var(--control-hover);
    }
    &:active {
      border-color: var(--control-focus);
    }
    &.is-disabled,
    [disabled] {
      opacity: 0.55;
    }
  }
}
@layer specific {
  .top-left-back-button {
    font-size: 2em;
    left: 0.2em;
    top: 0.2em;
  }
  .top-left-buttons {
    margin-left: 0.3rem;
    margin-top: 0.3rem;
    display: flex;
    flex-direction: column;
    row-gap: 0.6rem;
  }
  .top-left-buttons > * {
    width: 1.8rem !important;
    height: 1.8rem;
    max-width: 1.8rem;
    max-height: 1.8rem;
    cursor: pointer;
  }
  .top-left-buttons svg {
    color: white;
    stroke: var(--foreground);
    fill: var(--foreground);
  }
  .icon-button {
    background-color: transparent;
    border-color: transparent;
    border-width: 0;
    border-style: none;
    background-color: transparent;
    color: var(--foreground);
    display: inline-flex;
    margin: 0;
    align-items: center;
    cursor: pointer;
  }
  .icon-button.is-rounded {
    border-radius: 100%;
    padding-inline: 0;
  }
  .icon-button:hover {
  }
}

/* src/controls.css */
input[type=range].control,
input[type=radio].control,
.autostyle meter:not(.is-default),
.autostyle progress:not(.is-default) {
  accent-color: var(--accent);
}

/* src/table.css */
.table td,
.table th {
  padding: 0.6em;
  border-bottom: 0.05em solid var(--control-background);
  font-weight: 300;
  letter-spacing: 0.02em;
}
.table th {
  vertical-align: bottom;
  font-weight: 500;
  text-align: left;
}
.table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.9em;
}
.table.is-striped tbody tr:nth-child(odd) td {
  background-color: var(--background-light);
}
.table.has-hover tr:hover td {
  background-color: var(--control-background) !important;
  color: var(--control-foreground);
}
.table.is-responsive {
}

/* src/grid.css */
.grid {
  display: flex;
  flex-direction: column;
  position: relative;
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -6px;
  margin-right: -6px;
  flex-direction: row;
}
.cell,
.col {
  flex: 1 0 0;
  max-width: 100%;
  padding: 6px;
}

/* src/container.css */
.container,
.container-fluid {
  margin: 0 auto;
}
.container::after,
.container-fluid::after {
  display: block;
  clear: both;
  content: "";
}
.container {
  padding-right: 0.8em;
  padding-left: 0.8em;
}
.container-fluid {
  max-width: none;
  padding-right: 0.8em;
  padding-left: 0.8em;
}
.container.is-prevent-overflow-x,
.container-fluid.is-prevent-overflow-x {
  overflow-wrap: anywhere;
  overflow-x: hidden;
}
@media (max-width: 575px) {
  .container {
    width: 100%;
  }
  .container2 {
    width: 100%;
  }
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
  .container2 {
    max-width: 90%;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container,
  .container2 {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container,
  .container2 {
    max-width: 1140px;
  }
}
@media (min-width: 1452px) {
  .container,
  .container2 {
    max-width: 1360px;
  }
}
.container-fs {
  max-width: 0 !important;
}
.container-sm,
.container-small,
.container.is-small {
  max-width: 576px !important;
}
.container-md,
.container-medium,
.container.is-medium {
  max-width: 768px !important;
}
.container-lg,
.container-large,
.container.is-big {
  max-width: 992px !important;
}
.container-xl {
  max-width: 1200px !important;
}
.container-xxl {
  max-width: 1452px !important;
}

/* src/hub.css */
.hub {
  max-height: 100%;
  overflow: hidden;
  height: 100%;
}
.hub-content {
  display: grid;
  grid-template-rows: auto auto 1fr;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  max-height: 100%;
  height: 100%;
  perspective: 1px;
  perspective-origin: 0 0;
}
.hub-content-item {
  display: inline-block;
  width: 400px;
  grid-row: 3;
  scroll-snap-align: start;
  height: 100%;
  overflow-y: auto;
}
.hub-content-item.has-spacing,
.hub-content-item-heading.has-spacing {
  padding: 0 1rem;
}
.hub-content-item-heading {
  grid-row: 2;
  margin-bottom: 0.7em;
  overflow-x: hidden;
  white-space: nowrap;
}
.hub-heading {
  grid-row: 1;
  grid-column: 1 / 3;
  transform-origin: 0 0;
  transform: translateZ(-20px) scale(21);
  margin: 0;
  padding: 0;
  position: relative;
  line-height: 1em;
  margin-bottom: 0.3em;
  text-transform: lowercase;
  font-family: var(--font);
  font-size: 7rem;
  font-weight: 100;
  letter-spacing: 0.01em;
  color: var(--foreground-light);
}
@media (max-width: 768px) {
  .hub-content-item {
    width: 100vw;
  }
  .hub-content-item-heading {
    transform: translateZ(-0.2px);
    margin-bottom: -0.7em;
  }
}

/* src/appbar.css */
.appbar {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  min-height: 2.4rem;
  overflow: hidden;
  display: grid;
  justify-content: stretch;
  grid-template-columns: 1fr 1fr 1fr auto;
  background-color: var(--background);
}
.appbar .left {
  justify-self: start;
  grid-column: 1;
  display: flex;
}
.appbar > .center {
  justify-self: center;
  grid-column: 2;
  display: flex;
}
.appbar > .right {
  justify-self: end;
  grid-column: 3;
  display: flex;
  align-items: flex-start;
}
.appbar-expander {
  fill: var(--foreground);
  grid-column: 4;
  align-self: start;
}
.appbar-item,
.appbar > * > * {
  padding: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  cursor: pointer;
  color: inherit !important;
  text-decoration: none;
}
.appbar-icon,
.appbar > * > * > i {
  width: 2.4rem !important;
  height: 2.4rem !important;
  max-width: 2.4rem !important;
  max-height: 2.4rem !important;
  display: flex !important;
  justify-content: center !important;
  align-content: center !important;
  align-items: center !important;
  border-radius: 50% !important;
  fill: currentColor !important;
  padding: 0.5em !important;
}
.appbar > * > * > i > svg {
  width: 2.4rem !important;
  height: 2.4rem !important;
  max-width: 2.4rem !important;
  max-height: 2.4rem !important;
}
.appbar:not(.is-expanded) .appbar-label,
.appbar:not(.is-expanded) > * > * > label {
  display: none !important;
}
.appbar.is-expanded label,
.appbar.is-expanded > * > * > label {
  display: block;
}
.appbar-icon.has-border,
.appbar > * > * > i.has-border,
.appbar > * > * > i:not(.appbar-expander) {
  border: 0.15rem solid;
}
.appbar-icon.no-border,
.appbar > * > * > i.no-border {
  border: 0.15rem transparent;
}
.appbar-icon:hover,
.appbar > * > * > i:hover {
  background: rgba(0, 0, 0, 0.219);
}
.has-appbar {
  padding-bottom: 3.4em;
}

/* src/switch.css */
.switch input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.switch span:not(.check) {
  margin-left: 1rem;
  margin-right: 1rem;
}
.switch .check {
  position: relative;
  width: 45px;
  height: 18px;
  outline: 2px #a6a6a6 solid;
  border: 1px #fff solid;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1rem;
}
.switch input:checked ~ .check {
  background: var(--accent);
}
.switch input ~ .check::after {
  content: "";
  display: block;
  top: 0px;
  position: absolute;
  width: 9px;
  height: 16px;
  outline: 2px solid var(--control-background);
  border: 1px solid var(--control-background);
  cursor: pointer;
  background: var(--control-background);
  z-index: 2;
}
.switch input:checked ~ .check::after {
  right: 0;
}

/* src/layout.css */
.flex,
.layout {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  &.with-no-gaps {
    gap: 0;
  }
  &.has-gap-1,
  &.has-small-gap,
  &.with-small-gaps {
    gap: 0.5em;
  }
  &.has-gap-2,
  &.has-gap {
    gap: 1em;
  }
  &.has-gap-3,
  &.has-big-gap,
  &.with-big-gaps {
    gap: 1.4em;
  }
  &.is-column,
  &.vertical {
    flex-direction: column;
  }
  &.is-center,
  &.align-center {
    align-items: safe center;
  }
  &.content-center {
    justify-content: safe center;
  }
  &.is-end,
  &.align-end {
    align-items: flex-end;
  }
  & > .is-grow,
  & > .grow {
    flex-grow: 1;
  }
  & > .self-stretch,
  & > .stretch {
    align-self: stretch;
  }
}
.is-fullwidth,
.is-full-width,
.is-full-size {
  width: 100%;
}
.is-fullheight,
.is-full-height,
.is-full-size {
  height: 100%;
}
.has-space-right {
  margin-right: 0.3em;
}
.has-space-left {
  margin-left: 0.3em;
}
.has-space-top {
  margin-top: 0.3em;
}
.has-space-bottom {
  margin-bottom: 0.3em;
}
.has-big-space-right,
.has-big-space {
  margin-right: 0.5em;
}
.has-big-space-left,
.has-big-space {
  margin-left: 0.5em;
}
.has-big-space-top,
.has-big-space {
  margin-top: 0.5em;
}
.has-big-space-bottom,
.has-big-space {
  margin-bottom: 0.5em;
}
.block {
  display: block;
}
.view {
  display: flex;
  flex-direction: column;
  justify-content: safe center;
  align-items: safe center;
  height: 100%;
  &:has(sk-appbar),
  .has-appbar,
  &:has(+sk-appbar) {
    padding-bottom: 2.6rem;
  }
  &:has(sk-topbar),
  .has-topbar,
  &:has(+sk-topbar) {
    padding-top: 2.6rem;
  }
}

/* src/tabs.css */
.tabs,
.tabs-alt {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
.tabs-alt > * {
  font-size: 1.9em;
  padding: 0.2em 0.6em;
  color: var(--foreground-light);
  cursor: pointer;
}
.tabs-alt > *:first-child {
  padding-left: 0;
}
.tabs-alt > *.is-active {
  color: inherit;
  cursor: inherit;
}
.tabs:not(.is-bottom) > * {
  border-bottom: 0.1em solid var(--input-border-color);
  font-size: 1.2em;
  padding: 0.2em 0.6em;
  cursor: pointer;
}
.tabs.is-bottom > * {
  border-top: 0.1em solid var(--input-border-color);
  font-size: 1.2em;
  padding: 0.2em 0.6em;
  cursor: pointer;
}
.tabs > *:last-child {
}
.tabs:not(.is-bottom)::after {
  flex-grow: 2;
  border-bottom: 0.1em solid var(--input-border-color);
  display: block;
  content: "";
}
.tabs > *:hover:not(.is-active) {
  background-color: var(--control-highlight);
}
.tabs:not(.is-bottom) > *.is-active {
  border: 0.1em solid var(--input-border-color);
  border-bottom-width: 0;
  cursor: default;
}
.tabs.is-bottom > *.is-active {
  border: 0.1em solid var(--input-border-color);
  border-top-width: 0;
  cursor: default;
}
.tabs.is-bottom::after {
  flex-grow: 2;
  border-top: 0.1em solid var(--input-border-color);
  display: block;
  content: "";
}

/* src/notification.css */
.notification {
  text-align: left;
  padding: 0.4rem 1rem;
  background-color: var(--background-light);
  border-radius: 4px;
  max-width: 500px;
  top: 0px;
  position: relative;
  box-shadow: 1px 7px 14px -5px rgba(0, 0, 0, 0.2);
  margin-bottom: 1rem;
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-iteration-count: 1;
}
.notification.is-closing {
  animation-name: fadeOut;
  animation-duration: 1s;
  animation-iteration-count: 1;
}
.notification:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.notification.is-info:before {
  background-color: #A200FF;
}
.notification.is-success:before {
  background-color: #339933;
}
.notification.is-warning:before {
  background-color: #f3c81d;
}
.notification.is-error:before {
  background-color: #E51400;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* src/popover.css */
[popover].popover {
  margin: auto;
  padding: var(--gap);
  background-color: var(--background);
  color: var(--foreground);
  border-radius: var(--border-radius);
  border-color: var(--background-lighter);
  &::backdrop {
    background-color: var(--background);
    opacity: 0.8;
  }
  &.full::backdrop {
    opacity: 1;
  }
}
.popover:popover-open {
  border-radius: var(--border-radius);
  border-color: var(--background-lighter);
}
body.clean-overlay:has(.popover:popover-open) {
  overflow: hidden;
}

/* src/dialog.css */
dialog.dialog {
  background: var(--background);
  border: none !important;
  border-radius: var(--border-radius);
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  &.fullsize,
  .full {
    position: fixed;
    width: 100%;
    height: 100%;
  }
  &[open] {
    overscroll-behavior: contain;
  }
  &::backdrop {
    background-color: var(--background);
    opacity: 0.8;
  }
  &.full::backdrop,
  .fullsized::backdrop {
    opacity: 1;
  }
  &.with-background {
    background-color: var(--background-lighter);
  }
  &.with-spacing {
    padding: var(--gap-big);
  }
}
body.clean-overlay:has(.dialog[open]),
body.clean-overlay:has(.dialog:popover-open) {
  overflow: hidden;
}

/* src/rich-text.css */
.rich-text {
  --accent-dim: color-mix(in srgb, var(--accent) 20%, var(--background));
  --accent-bright: color-mix(in srgb, var(--accent) 80%, var(--foreground-intense));
  --code-background: color-mix(in srgb, var(--background-lighter) 70%, var(--background));
  --table-border: color-mix(in srgb, var(--foreground-light) 30%, var(--background));
  --blockquote-border: color-mix(in srgb, var(--accent) 60%, var(--background));
  font-family: var(--font);
  font-weight: var(--font-weight);
  color: var(--foreground);
  background-color: var(--background);
  line-height: 1.6;
  font-size: var(--font-size-base);
  margin: 0;
  padding: var(--gap);
  h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 200; color: var(--foreground-intense); margin: var(--gap-big) 0 var(--gap) 0; line-height: 1.2; letter-spacing: -0.02em; &:first-child { margin-top: 0; } } h1 { font-size: var(--font-size-big); border-bottom: 3px solid var(--accent); padding-bottom: var(--gap-small); margin-bottom: var(--gap-big); text-transform: none; } h2 { font-size: var(--font-size-big); border-bottom: 2px solid var(--accent-dim); padding-bottom: calc(var(--gap-small) * 0.5); } h3 { font-size: var(--font-size-bigger); color: var(--accent); } h4 { font-size: var(--font-size-bigger); color: var(--accent-bright); } h5 { font-size: var(--font-size-base); font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; } h6 { font-size: var(--font-size-base); font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; color: var(--foreground-light); } p { margin: var(--gap) 0; &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } em, i { font-style: italic; color: var(--foreground-intense); } strong, b { font-weight: 600; color: var(--foreground-intense); } del, s { text-decoration: line-through; color: var(--foreground-light); opacity: 0.7; } a { color: var(--accent); text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s ease; &:hover { color: var(--accent-bright); border-bottom-color: var(--accent); } &:active { color: var(--foreground-intense); } } ul, ol { margin: var(--gap) 0; padding-left: var(--gap-big); li { margin: calc(var(--gap-small) * 0.5) 0; line-height: 1.6; &::marker { color: var(--accent); } ul, ol { margin: calc(var(--gap-small) * 0.5) 0; li::marker { color: var(--foreground-light); } } } } ul { list-style-type: none; li { position: relative; &::before { content: "\25a0"; color: var(--accent); position: absolute; left: calc(-1 * var(--gap)); font-size: var(--font-size-smaller); top: 0.1em; } ul li::before { content: "\25aa"; color: var(--foreground-light); font-size: var(--font-size-small); } } } ol { counter-reset: item; li { counter-increment: item; &::marker { content: counter(item) "."; font-weight: 600; } } } ul.task-list { list-style: none; padding-left: 0; li.task-list-item { display: flex; align-items: flex-start; gap: var(--gap-small); &::before { display: none; } input[type="checkbox"] { margin: 0; margin-top: 0.2em; width: 1.2em; height: 1.2em; accent-color: var(--accent); &:checked { background-color: var(--accent); } } } } code { font-family: "Consolas", "Monaco", "Courier New", monospace; background-color: var(--code-background); color: var(--accent-bright); padding: 0.2em 0.4em; border-radius: var(--border-radius-small); font-size: var(--font-size-smaller); border: 1px solid var(--background-lighter); } pre { background-color: var(--background-lighter); border: 1px solid var(--table-border); border-radius: var(--border-radius); padding: var(--gap); margin: var(--gap) 0; overflow-x: auto; line-height: 1.4; code { background: none; border: none; padding: 0; font-size: var(--font-size-smaller); color: var(--foreground); } } table { width: 100%; border-collapse: collapse; margin: var(--gap) 0; background-color: var(--background-lighter); border-radius: var(--border-radius); overflow: hidden; th, td { padding: var(--gap-small) var(--gap); text-align: left; border-bottom: 1px solid var(--table-border); } th { background-color: var(--accent); color: var(--foreground-on-accent); font-weight: 600; text-transform: uppercase; font-size: var(--font-size-smaller); letter-spacing: 0.05em; } tr:nth-child(even) { background-color: color-mix(in srgb, var(--background-lighter) 50%, var(--background)); } tr:hover { background-color: var(--accent-dim); } th[align="center"], td[align="center"] { text-align: center; } th[align="right"], td[align="right"] { text-align: right; } } blockquote { margin: var(--gap) 0; padding: var(--gap); background-color: var(--background-lighter); border-left: 4px solid var(--blockquote-border); border-radius: 0 var(--border-radius) var(--border-radius) 0; font-style: italic; color: var(--foreground-lighter); p:first-child { margin-top: 0; } p:last-child { margin-bottom: 0; } blockquote { margin: var(--gap-small) 0; border-left-color: var(--foreground-light); background-color: var(--background); } } hr { border: none; height: 2px; background: linear-gradient(to right, var(--accent), transparent); margin: var(--gap-big) 0; border-radius: var(--border-radius-small); } img { max-width: 100%; height: auto; border-radius: var(--border-radius); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); margin: var(--gap) 0; &:hover { transform: scale(1.02); transition: transform 0.2s ease; } } dl { margin: var(--gap) 0; dt { font-weight: 600; color: var(--accent); margin-top: var(--gap); margin-bottom: var(--gap-small); &:first-child { margin-top: 0; } } dd { margin: 0 0 var(--gap-small) var(--gap); padding-left: var(--gap); border-left: 2px solid var(--accent-dim); } } .footnote-ref { color: var(--accent); font-size: var(--font-size-smaller); text-decoration: none; &::before { content: "["; } &::after { content: "]"; } } .footnotes { margin-top: var(--gap-big); padding-top: var(--gap); border-top: 1px solid var(--table-border); font-size: var(--font-size-smaller); color: var(--foreground-light); ol { padding-left: var(--gap); } .footnote-backref { color: var(--accent); text-decoration: none; margin-left: var(--gap-small); } } @media (max-width: 768px) { padding: var(--gap-small); h1 { font-size: var(--font-size-huge); } h2 { font-size: var(--font-size-big); } table { font-size: var(--font-size-smaller); th, td { padding: calc(var(--gap-small) * 0.5) var(--gap-small); } } pre { padding: var(--gap-small); font-size: var(--font-size-small); } } a:focus, input:focus { outline: 2px solid var(--accent); outline-offset: 2px; };
}

/* src/helpers.css */
.hidden {
  display: none !important;
}
@media print {
  .no-print {
    display: none !important;
  }
}

/* src/section.css */
section.section {
  display: block;
  width: 100%;
  margin-bottom: var(--gap-small);
  font-family: var(--font);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight);
  background: var(--background);
  border: var(--control-border-width) solid var(--background-lighter);
  border-radius: var(--border-radius);
  padding: 0;
  overflow: hidden;
  position: relative;
  color: var(--foreground);
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.4;
  & > h1 {
    background: var(--background-lighter);
    color: var(--foreground);
    font-family: var(--font-heading);
    font-size: var(--font-size-bigger);
    font-weight: var(--font-weight);
    padding: var(--control-padding) var(--gap-small);
    margin: 0;
    border: none;
    border-left: 3px solid var(--accent);
    text-transform: none;
    letter-spacing: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.3;
    position: relative;
    display: block;
  }
  & > *:not(h1) {
    margin-left: var(--gap-small);
    margin-right: var(--gap-small);
    margin-top: var(--gap-small);
    max-width: calc(100% - calc(var(--gap-small) * 2));
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  & > *:last-child:not(h1) {
    margin-bottom: var(--gap-small);
  }
  & > h1:last-child {
    padding-bottom: calc(var(--control-padding) * 0.5);
  }
  @media (max-width: var(--breakpoint-smartphone)) {
    & > h1 {
      font-size: var(--font-size-base);
      padding: calc(var(--control-padding) * 0.8) var(--control-padding);
    }
    & > *:not(h1) {
      margin-left: var(--control-padding);
      margin-right: var(--control-padding);
      margin-top: var(--control-padding);
      max-width: calc(100% - calc(var(--control-padding) * 2));
    }
    & > *:last-child:not(h1) {
      margin-bottom: var(--control-padding) !important;
    }
  }
}

/* src/index.css */
@layer reset, base, specific;
