/* https://github.com/dracula/dracula-theme */
/* retro grid background */
#layer-0 {
  background: linear-gradient(to bottom, #000000 0%, #000000 25%, #ff47ff 100%);
  height: 400px;
  width: 200vw;
  opacity: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 -50%;
  overflow: hidden;
  transform: perspective(200px) rotateX(60deg);
  z-index: -5;
}
#layer-1 {
  background: linear-gradient(45deg, #5c47ff 0%, rgba(92, 71, 255, 0) 50%, rgba(92, 71, 255, 0) 100%);
  height: inherit;
  width: inherit;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -5;
}
#layer-2 {
  background: linear-gradient(135deg, rgba(92, 71, 255, 0) 0%, rgba(92, 71, 255, 0) 50%, #5c47ff 100%);
  height: inherit;
  width: inherit;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -5;
}
#lines {
  background-size: 40px 40px;
  background-image: repeating-linear-gradient(0deg, #60dcd3, #60dcd3 2px, transparent 1px, transparent 40px), repeating-linear-gradient(-90deg, #60dcd3, #60dcd3 2px, transparent 2px, transparent 40px);
  height: 400px;
  width: 100%;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -4;
}
#layer-corner {
  background: linear-gradient(to bottom, #47ffcb 0%, rgba(96, 130, 223, 0) 54%, rgba(117, 24, 240, 0) 100%);
  height: inherit;
  width: inherit;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -5;
  animation: layercorneranim 2.5s ease-in-out infinite alternate;
}
#hey {
  width: 100%;
  background-color: #011;
  position: absolute;
  bottom: 253px;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -10;
  transform: perspective(200px);
}
#layer-up {
  background: linear-gradient(to bottom, rgba(71, 255, 203, 0) 0%, rgba(71, 255, 203, 0) 50%, #47ffcb 100%);
  height: 300px;
  width: inherit;
  opacity: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow: hidden;
  z-index: -5;
  animation: layerupanim 2.5s ease-in-out infinite alternate;
}
/* neon glow on title */
/* #paper h1, #paper h2, #paper h3, #paper h4 { */
/*   animation: neon1 1.5s ease-in-out infinite alternate; */
/* } */
@keyframes neon1 {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #ff11a7, 0 0 70px #ff11a7, 0 0 80px #ff11a7, 0 0 100px #ff11a7, 0 0 150px #ff1177;
  }
  to {
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #ff11a7, 0 0 35px #ff11a7, 0 0 40px #ff11a7, 0 0 50px #ff11a7, 0 0 75px #ff11a7;
  }
}
@keyframes layerupanim {
  from {
    height: 140px;
  }
  to {
    height: 155px;
  }
}
@keyframes layercorneranim {
  from {
    height: 400px;
  }
  to {
    height: 540px;
  }
}
body,
body.dark {
  --focus-accent: #ff0;
  --focus-ring: rgba(0, 0, 0, 0.7);
  --focus-halo: rgba(255, 255, 0, 0.65);
  --focus-shadow: rgba(255, 255, 0, 0.45);
  --section-major: var(--border-color-sec);
}
body.light {
  --focus-fg: #f8f8f2;
  --focus-bg: #202b38;
  --focus-bg-alt: rgba(255, 121, 198, 0.18);
  --focus-accent: #ff79c6;
  --focus-ring: rgba(255, 255, 255, 0.55);
  --focus-halo: rgba(160, 0, 210, 0.45);
  --focus-shadow: rgba(160, 0, 210, 0.45);
  --section-major: var(--border-color-sec);
}
/* retro grid background */
#layer-0 {
  background: linear-gradient(to bottom, #000000 0%, #000000 25%, #ff47ff 100%);
  height: 400px;
  width: 200vw;
  opacity: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 -50%;
  overflow: hidden;
  transform: perspective(200px) rotateX(60deg);
  z-index: -5;
}
#layer-1 {
  background: linear-gradient(45deg, #5c47ff 0%, rgba(92, 71, 255, 0) 50%, rgba(92, 71, 255, 0) 100%);
  height: inherit;
  width: inherit;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -5;
}
#layer-2 {
  background: linear-gradient(135deg, rgba(92, 71, 255, 0) 0%, rgba(92, 71, 255, 0) 50%, #5c47ff 100%);
  height: inherit;
  width: inherit;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -5;
}
#lines {
  background-size: 40px 40px;
  background-image: repeating-linear-gradient(0deg, #60dcd3, #60dcd3 2px, transparent 1px, transparent 40px), repeating-linear-gradient(-90deg, #60dcd3, #60dcd3 2px, transparent 2px, transparent 40px);
  height: 400px;
  width: 100%;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -4;
}
#layer-corner {
  background: linear-gradient(to bottom, #47ffcb 0%, rgba(96, 130, 223, 0) 54%, rgba(117, 24, 240, 0) 100%);
  height: inherit;
  width: inherit;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -5;
  animation: layercorneranim 2.5s ease-in-out infinite alternate;
}
#hey {
  width: 100%;
  background-color: #011;
  position: absolute;
  bottom: 253px;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -10;
  transform: perspective(200px);
}
#layer-up {
  background: linear-gradient(to bottom, rgba(71, 255, 203, 0) 0%, rgba(71, 255, 203, 0) 50%, #47ffcb 100%);
  height: 300px;
  width: inherit;
  opacity: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow: hidden;
  z-index: -5;
  animation: layerupanim 2.5s ease-in-out infinite alternate;
}
/* neon glow on title */
/* #paper h1, #paper h2, #paper h3, #paper h4 { */
/*   animation: neon1 1.5s ease-in-out infinite alternate; */
/* } */
@keyframes neon1 {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #ff11a7, 0 0 70px #ff11a7, 0 0 80px #ff11a7, 0 0 100px #ff11a7, 0 0 150px #ff1177;
  }
  to {
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #ff11a7, 0 0 35px #ff11a7, 0 0 40px #ff11a7, 0 0 50px #ff11a7, 0 0 75px #ff11a7;
  }
}
@keyframes layerupanim {
  from {
    height: 140px;
  }
  to {
    height: 155px;
  }
}
@keyframes layercorneranim {
  from {
    height: 400px;
  }
  to {
    height: 540px;
  }
}
.menu-content summary {
  background-color: var(--section-major);
}
.mq-preloader {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--background);
}
.mq-preloader:empty {
  display: none;
}
.preloader-box {
  text-align: center;
  opacity: 0.9;
}
.preloader-spin {
  width: 2em;
  height: 2em;
  margin: 0 auto 0.8em;
  border: 3px solid var(--border-color-sec);
  border-top-color: var(--font-color-sec);
  border-radius: 50%;
  animation: preloader-turn 0.8s linear infinite;
}
@keyframes preloader-turn {
  to {
    transform: rotate(360deg);
  }
}
.preloader-hint {
  margin-top: 0.5em;
  opacity: 0.6;
  font-size: 0.85em;
}
.preloader-viewport {
  margin-top: 1.2em;
  opacity: 0.55;
  font-family: monospace;
  font-size: 0.8em;
  user-select: text;
}
.preloader-error {
  margin-top: 0.5em;
  color: var(--color-error, #d33);
  font-size: 0.85em;
}
.preloader-denied .preloader-label,
.preloader-anonymous .preloader-label {
  color: var(--color-warn, #d90);
}
@media (prefers-reduced-motion: reduce) {
  .preloader-spin {
    animation: none;
  }
}
.portal-bar {
  display: flex;
  align-items: center;
  font-size: 0.9em;
  flex-wrap: wrap;
  width: 100%;
  gap: 0.4em 0.8em;
}
.portal-bar .portal-connected,
.portal-bar .portal-auth-ready {
  color: var(--color-ok, #3a3);
}
.portal-bar .portal-reconnecting,
.portal-bar .portal-connecting,
.portal-bar .portal-auth-wait {
  color: var(--color-warn, #d90);
}
.portal-bar .portal-offline,
.portal-bar .portal-error {
  color: var(--color-error, #d33);
}
.portal-bar .portal-auth-denied,
.portal-bar .portal-auth-anon {
  color: var(--color-error, #d33);
  font-weight: bold;
}
.portal-bar .portal-status {
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1;
  cursor: default;
}
.portal-bar .portal-reconnects {
  cursor: help;
  opacity: 0.8;
}
.portal-bar .portal-bui {
  cursor: pointer;
  font-family: monospace;
}
.portal-bar .portal-bui:hover {
  text-decoration: underline;
}
.portal-bar .portal-copied {
  color: var(--color-ok, #3a3);
}
.portal-bar .portal-copied::after {
  content: " ✓";
}
/* Blame Gutter Styles */
.codemirror {
  /* Gutter container styling */
  /* Individual blame marker */
  /* Hover state */
  /* Highlight same commits */
  /* Dark theme styles */
}
.codemirror .cm-blame-gutter {
  min-width: 80px;
  padding: 0 6px 0 4px;
  border-right: 1px solid #e0e0e0;
  user-select: none;
}
.codemirror .cm-blame-marker {
  font-size: 10px;
  font-family: monospace;
  color: #666;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 2px;
  border-radius: 2px;
  transition: background-color 0.15s ease;
}
.codemirror .cm-blame-marker:hover {
  background-color: #e8e8e8;
  color: #000;
}
.codemirror .cm-blame-marker-highlight {
  background-color: #fff3cd !important;
  color: #000 !important;
  font-weight: 500;
}
.codemirror .cm-editor.cm-focused .cm-blame-gutter {
  background-color: #1a1a1a;
  border-right-color: #2a2a2a;
}
.codemirror .cm-editor.cm-focused .cm-blame-marker {
  color: #888;
}
.codemirror .cm-editor.cm-focused .cm-blame-marker:hover {
  background-color: #2a2a2a;
  color: #ccc;
}
.codemirror .cm-editor.cm-focused .cm-blame-marker-highlight {
  background-color: #3d3d00 !important;
  color: #fff !important;
}
@font-face {
  font-family: "Agave";
  src: url(./Agave-Regular-slashed.woff2) format("woff2"), url(./Agave-Regular-slashed.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Agave";
  src: url(./Agave-Bold-slashed.woff2) format("woff2"), url(./Agave-Bold-slashed.ttf) format("truetype");
  font-weight: bold;
  font-display: swap;
}
:root {
  --vh: 100dvh;
  /* fallback */
  --font-scale: 1;
  --menu-left: 6px;
  --menu-top: 10px;
  --menu-width: calc(100vw - 31px);
  --menu-height: calc(var(--vh, 100vh) - 40px);
  --font-family: Agave, monospace;
  --font-family-small: Agave, monospace;
  --font-family-bold: "Overpass Heavy", monospace;
  /* --font-family: "Cascadia Code", "IBM Plex Sans", monospace; */
  /* --font-family-small: "IBM Plex Sans", "Inter"; */
  --icon-size: 25px;
  --notyf-size: 10;
}
@media (min-width: 769px) {
  :root {
    --vh: 100vh;
    --font-scale: 1;
    --font-size-base: 1rem;
    --font-size-button: 1rem;
    --font-size-searchbox: 0.99rem;
    --notyf-size: 15;
    --menu-left: calc(100vw / 9);
    --menu-top: calc(100vh / 9);
    --menu-width: 80%;
    --menu-height: calc(80vh);
  }
}
@media (max-width: 768px) {
  :root {
    --vh: 100dvh;
    /* fallback */
    --font-scale: 1;
    --font-size-base: 0.7rem;
    --font-size-button: 1.1rem;
    --font-size-searchbox: 0.8rem;
    --font-size-searchitem-left: 8px;
    --icon-size: 30px;
  }
  .cm-editor {
    padding-top: 10px;
    font-size: 10px;
    /* smaller for mobile usability */
  }
  .cm-content {
    font-size: 10px;
  }
}
body.dark {
  --font-color-prim: #f8f8f2;
  --font-color-sec: #ff79c6;
  --background-color-prim: #202b38;
  --background-color-sec: #44475a;
  --border-color-prim: #6272a4;
  --border-color-sec: #515f8c;
  --background: #44475a;
  --background-alt: #202b38;
}
body.light {
  --font-color-prim: black;
  --font-color-sec: #a000d2;
  --background-color-prim: #ffffff;
  --background-color-sec: #e5e5e5;
  --border-color-prim: #ff1d9f;
  --border-color-sec: #ff79c6;
  --background: #e5e5e5;
  --background-alt: #ffffff;
  --links: #0076d1;
}
body {
  scrollbar-gutter: stable;
  font-family: var(--font-family);
  font-size: calc(var(--font-size-base, 1) * 1);
  line-height: calc(var(--font-size-base, 1) * 0.9);
}
body.spa {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
body.spa #logo-mini {
  padding: 3px;
  position: fixed;
  right: 0;
  top: 0;
  opacity: 0.7;
  display: none;
}
body #status-tl {
  cursor: pointer;
  font-family: var(--font-family-small);
  display: inline-block;
  color: var(--font-color-sec);
  background-color: var(--background-color-sec);
  border: calc(6px * 0.2) solid var(--border-color-prim);
  border-radius: 3px;
  padding: calc(calc(var(--font-size-base, 1) * 0.90) * 0.2);
  margin: calc(calc(var(--font-size-base, 1) * 0.90) * 0.3) 0;
  overflow: hidden;
  font-size: calc(var(--font-size-base, 1) * 0.90);
  line-height: calc(var(--font-size-base, 1) * 0.90);
  left: 2px;
  z-index: 6000;
  position: fixed;
  top: 0;
  opacity: 0.8;
}
body #status-bl {
  cursor: pointer;
  font-family: var(--font-family-small);
  display: inline-block;
  color: var(--font-color-sec);
  background-color: var(--background-color-sec);
  border: calc(6px * 0.2) solid var(--border-color-prim);
  border-radius: 3px;
  padding: calc(calc(var(--font-size-base, 1) * 0.90) * 0.2);
  margin: calc(calc(var(--font-size-base, 1) * 0.90) * 0.3) 0;
  overflow: hidden;
  font-size: calc(var(--font-size-base, 1) * 0.90);
  line-height: calc(var(--font-size-base, 1) * 0.90);
  left: 2px;
  z-index: 6000;
  position: fixed;
  bottom: calc(var(--nav-lift, 0px) + 1px);
  opacity: 0.8;
}
body #fill {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.4;
  display: none;
}
body #glass {
  font-family: var(--font-family-small);
  display: none;
}
body #glass.on {
  display: flex;
  flex-direction: column;
  position: fixed;
  left: var(--menu-left, 0);
  top: var(--menu-top);
  border-radius: 10px;
  border: calc(6px * 0.4) solid var(--border-color-sec);
  background-color: var(--background-color-sec);
  /*box-sizing: border-box;*/
  padding: 4px;
  width: var(--menu-width);
  max-height: calc(var(--menu-height) - var(--menu-top, 0px));
  box-sizing: border-box;
  z-index: 9000;
}
body #glass.on .bt-close-glass {
  cursor: pointer;
  display: block;
  position: absolute;
  border: 1px solid #ff79c6;
  background-color: #ff32a8;
  color: black;
  border-radius: 6px;
  text-align: center;
  right: -10px;
  width: 26px;
  height: 26px;
}
body #glass.on .bt-close-glass.top {
  top: -10px;
}
body #glass.on .bt-close-glass.bottom {
  bottom: -10px;
}
body #glass.on .menu-navigator {
  display: none;
}
body #glass.on .menu-content {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 100%;
  overflow: auto;
}
body #glass.on .menu-content label {
  line-height: calc(var(--font-size-base, 1) * 1.1);
}
body #glass.on .menu-content details {
  margin: 0;
}
body #glass.on .menu-content details summary {
  margin: 0;
  padding-top: 3px;
  padding-bottom: 2px;
  min-width: 30%;
  font-weight: bolder;
}
body #glass.on .menu-content input#menu-input {
  border-width: 5px;
  border-top-color: var(--border-color-sec);
  border-right-color: var(--border-color-prim);
  border-bottom-color: var(--border-color-prim);
  border-left-color: var(--border-color-sec);
  filter: glow(22px);
  font-size: calc(var(--font-size-searchbox, 1) * 1);
  line-height: calc(var(--font-size-searchbox, 1) * 1);
  padding: 6px 0 4px 26px;
  margin: 0;
}
body #glass.on .menu-content .auto-results-wrapper {
  border: none;
  filter: hue-rotate(69deg) brightness(1.4) drop-shadow(0 0 14px #ffb86c);
  line-height: clamp(0.9rem, 0.49rem, 2rem);
  background-color: var(--background-color-sec);
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results {
  border: calc(6px * 0.6) solid var(--border-color-sec);
  border-radius: 9px;
  overflow: auto;
  overflow-scrolling: touch;
  min-height: 300px;
  max-height: 500px;
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item {
  position: relative;
  background-color: var(--background-color-sec);
  font-size: calc(var(--font-size-searchbox, 1) * 1);
  line-height: calc(var(--font-size-searchbox, 1) * 1);
  border-left: var(--font-size-searchitem-left) solid transparent;
  padding: 4px 0 2px 18px;
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item:nth-child(odd):not(.auto-selected) {
  background-color: var(--background-color-prim);
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item i {
  font-weight: bold;
  position: absolute;
  top: 10px;
  left: 2px;
  font-size: calc(var(--font-size-searchbox, 1) * 1);
  line-height: calc(var(--font-size-searchbox, 1) * 1);
  color: var(--font-color-prim);
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item span.info {
  font-size: xx-small;
  opacity: 0.7;
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item span.info2 {
  position: absolute;
  font-size: xx-small;
  opacity: 0.7;
  right: 0;
  top: 0;
  background-color: rgba(241, 6, 186, 0.57);
  color: black;
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item i[class^="si-"] {
  position: absolute;
  left: 0;
  top: 0;
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item.dir {
  color: var(--border-color-prim);
}
body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results li.menu-item.auto-selected {
  border-left: var(--font-size-searchitem-left) solid orange;
  background-color: var(--border-color-sec);
  font-weight: bold;
  text-decoration: overline;
  text-decoration-style: solid;
  text-decoration-color: orange;
}
body #glass.on .menu-content .auto-results-wrapper[data-status]::after {
  content: attr(data-status);
  position: absolute;
  right: 0.95em;
  bottom: 0;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 0.85em;
  color: var(--font-color-prim);
  background-color: var(--background-color-prim);
}
body #glass.on .menu-content button.auto-clear {
  background-color: var(--border-color-sec);
  padding: 12px 30px;
  margin: 5px 5px 0;
}
body #glass.on .menu-content .autocomplete-host {
  position: relative;
}
body #glass.on .menu-content .autocomplete-host #autocomplete-action {
  background-color: #ff32a8;
  border-radius: 30%;
  position: absolute;
  right: 2px;
  top: 1px;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  opacity: 0.8;
}
body #glass.on .menu-content .list-history ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
body #glass.on .menu-content button.button,
body #glass.on .menu-content a.button {
  display: inline-block;
  background-color: #ff32a8;
  border: calc(6px * 0.2) solid #bd93f9;
  border-radius: 7px;
  padding: 2px;
  margin: 2px;
  cursor: pointer;
  overflow: hidden;
  zoom: auto;
  color: #ffffff;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.7);
  font-size: calc(var(--font-size-base, 1) * 1.1);
  line-height: calc(var(--font-size-base, 1) * 1.1);
  font-weight: bold;
  text-align: center;
}
body #glass.on .menu-content button.button.mini,
body #glass.on .menu-content a.button.mini {
  font-size: xx-small;
}
body #glass.on .menu-content button.button.off,
body #glass.on .menu-content a.button.off {
  opacity: 0.3;
  cursor: not-allowed;
}
body #glass.on .menu-content button.button:hover,
body #glass.on .menu-content a.button:hover {
  filter: invert(1);
}
body #glass.off {
  align-content: center;
  display: block;
  line-height: 0;
  position: fixed;
  right: 0.3em;
  bottom: var(--nav-lift, 0px);
  max-height: var(--vh, 100vh);
  z-index: 9000;
  overflow: hidden;
  border-radius: 9%;
  text-align: center;
}
body #glass.off .bt-close-glass {
  display: none;
}
body #glass.off .menu-navigator {
  position: relative;
  display: inline-block;
  margin-bottom: 1px;
  line-height: 0;
  opacity: 0.8;
  filter: glow(118px);
}
body #glass.off .menu-navigator a.button {
  display: inline-block;
  cursor: pointer;
  min-width: 20px;
  background-color: #06de3d;
  border: calc(6px * 0.6) solid var(--border-color-prim);
  border-radius: 9px;
  padding: 2px;
  margin: 0;
  overflow: hidden;
  zoom: auto;
  color: #ffffff;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.7);
  font-size: calc(var(--font-size-button, 1) * 1);
  line-height: calc(var(--font-size-button, 1) * 1);
  font-weight: bolder;
  text-align: center;
  filter: glow(118px);
}
body #glass.off .menu-navigator a.button.mini {
  background-color: #ff32a8;
  font-size: calc(var(--font-size-button, 1) * 0.9);
}
body #glass.off .menu-navigator a.button.off {
  display: none;
}
body #glass.off .menu-navigator a.button:hover {
  filter: invert(1);
}
body #glass.off .menu-navigator table.nav-stack {
  background-color: transparent;
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 0;
  width: auto;
  border-collapse: separate;
  border-spacing: 2px;
}
body #glass.off .menu-navigator table.nav-stack tr {
  background: transparent;
}
body #glass.off .menu-navigator table.nav-stack td {
  background: transparent;
  border: none;
  text-align: center;
}
body #glass.off .menu-content {
  display: none;
}
body #glass.off .menu-content .button {
  font-size: calc(var(--font-size-button, 1) * 1);
}
body #glass .scroll-host {
  width: 100%;
  max-height: 200px;
  overflow: scroll;
}
body #glass #linksSwitch {
  display: inline-block;
}
body #glass #linksSwitch select {
  font-family: var(--font-family-small);
}
body #glass .section-block {
  filter: drop-shadow(0 0 0.75rem var(--background));
}
body #glass .section-block > div:first-child {
  background-color: var(--background);
  border-radius: 0 6px 6px 6px;
}
body #space {
  scrollbar-gutter: stable;
}
body #space.on {
  /*z-index: 0;*/
  box-sizing: border-box;
  margin: 0 auto 0.1em auto;
  padding: calc(calc(var(--font-size-base, 1) * 0.9) * 2) 2px;
  width: calc(100vw - 18px);
  height: calc(var(--vh, 100vh) - (var(--font-size-base, 1rem) * 0.8));
  overflow-y: scroll;
  overflow-y: hidden;
}
body #space.off {
  display: none;
}
body #paper {
  scrollbar-gutter: stable;
}
body #paper h1 {
  margin: 10px 0;
}
body #paper.on {
  /*opacity: 0.2;*/
  /*z-index: 3000;*/
  box-sizing: border-box;
  margin: 0 auto 0.1em auto;
  padding: calc(calc(var(--font-size-base, 1) * 0.9) * 2) 2px;
  width: calc(100vw - 18px);
  height: calc(var(--vh, 100vh) - (var(--font-size-base, 1rem) * 0.8));
  overflow-y: scroll;
}
body #paper.on a.button {
  display: inline-block;
  cursor: pointer;
  min-width: 20px;
  background-color: #06de3d;
  border: calc(6px * 0.6) solid var(--border-color-prim);
  border-radius: 9px;
  padding: 2px;
  margin: 0;
  overflow: hidden;
  zoom: auto;
  color: #ffffff;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.7);
  font-size: calc(var(--font-size-button, 1) * 1);
  line-height: calc(var(--font-size-button, 1) * 1);
  font-weight: bolder;
  text-align: center;
}
body #paper.on a.button.mini {
  background-color: #ff32a8;
  font-size: calc(var(--font-size-button, 1) * 0.9);
}
body #paper.on a.button.off {
  display: none;
}
body #paper.on a.button:hover {
  filter: invert(1);
}
body #paper.off {
  display: none;
}
body #paper a.button,
body #paper span.button {
  display: inline-block;
  border: calc(6px * 0.2) solid var(--border-color-prim);
  border-radius: 6px;
  min-width: 80px;
  zoom: 0.6;
}
body #paper .vega-embed {
  padding: 0 !important;
}
body #paper .vega-paper {
  background-color: #ddddc0;
}
body #paper code {
  background-color: transparent;
  font-size: var(--font-size-base);
}
body #paper ul {
  margin-block-start: 2px;
  margin-block-end: 4px;
  padding-inline-start: calc(var(--font-size-base, 1) * 0.9);
}
body #paper ul li {
  line-height: calc(var(--font-size-base, 1) * 0.9);
  list-style-type: disc;
}
body #paper ul li p {
  /* margin-block: 0; */
  margin-block: calc(calc(var(--font-size-base, 1) * 1) * 0.16);
}
body #paper p {
  margin-block: calc(calc(var(--font-size-base, 1) * 1) * 0.5);
}
body #paper a :not(table *) {
  border-radius: 6px;
  padding: 1px;
  background-color: var(--background-color-sec);
  opacity: 0.8;
}
body #paper table {
  font-size: inherit;
}
body #paper .list-gap {
  height: calc(calc(var(--font-size-base, 1) * 0.9) * 0.7);
}
body #paper .front-matter {
  cursor: pointer;
  font-family: var(--font-family-small);
  background-color: var(--background-color-sec);
  color: var(--font-color-prim);
  border: 1px solid var(--border-color-prim);
  border-radius: 6px;
  padding: 2px;
  margin: 0;
}
body #paper section[data-level] {
  padding-left: 10px;
}
body #paper section[data-level] h1,
body #paper section[data-level] h2,
body #paper section[data-level] h3,
body #paper section[data-level] h4,
body #paper section[data-level] h5,
body #paper section[data-level] h6,
body #paper section[data-level] h7,
body #paper section[data-level] h8,
body #paper section[data-level] h9 {
  font-weight: bolder;
  font-style: normal;
  font-size: calc(1.4 * var(--font-size-base)) px;
  line-height: var(--font-size-base) px;
  font-family: var(--font-family-bold);
  margin: 0 !important;
}
body #paper details[data-level] {
  display: block;
  position: relative;
  margin: 0 0 0 calc(3px * var(--level));
  padding: 5px 0 0 0;
  background-color: transparent !important;
}
body #paper details[data-level] summary {
  padding: 8px 3px;
}
body #paper details[data-level] summary h1,
body #paper details[data-level] summary h2,
body #paper details[data-level] summary h3,
body #paper details[data-level] summary h4,
body #paper details[data-level] summary h5,
body #paper details[data-level] summary h6,
body #paper details[data-level] summary h7,
body #paper details[data-level] summary h8,
body #paper details[data-level] summary h9 {
  font-weight: bolder;
  font-style: normal;
  font-family: var(--font-family-bold);
  font-size: calc(1.4 * var(--font-size-base)) px;
  line-height: var(--font-size-base) px;
  margin: 0;
}
body #paper table {
  width: auto;
}
body #paper a.preview img {
  width: 50vw;
  max-width: 300px;
  height: auto;
}
body #paper .fragment-touchbar {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  line-height: 1;
  width: calc(calc(var(--font-size-base, 1) * 0.90)*1.2);
  height: calc(calc(var(--font-size-base, 1) * 0.90)*1.2);
  font-family: var(--font-family-small);
  font-size: calc(var(--font-size-base, 1) * 0.90);
  /* Pivot point (adjust as needed) */
  /* Optional: keep the text readable after rotation */
  color: var(--border-color-prim);
  border-radius: 10px;
  position: absolute;
  right: 10px;
  top: 10px;
}
body #paper .fragment-clickable {
  cursor: pointer;
  color: var(--border-color-prim);
  border-radius: 10px;
}
body #paper .debug {
  display: none;
}
body #paper .json-markup {
  --border-color-prim: #6272a4;
  --border-color-sec: #515f8c;
  --background: #44475a;
  --background-alt: #202b38;
  line-height: 17px;
  font-size: 13px;
  font-family: monospace;
  white-space: pre;
  background-color: var(--background-color-sec);
}
body #paper .json-markup-key {
  color: var(--border-color-prim);
}
body #paper .json-markup-bool {
  color: red;
}
body #paper .json-markup-string {
  cursor: crosshair;
  color: #06de3d;
  display: inline-block;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}
body #paper .json-markup-string:hover {
  max-width: none;
  background: #eee;
}
body #paper .json-markup-null {
  color: red;
}
body #paper .json-markup-number {
  color: #ff32a8;
}
body #edit {
  scrollbar-gutter: stable;
}
body #edit.on {
  /*opacity: 0.2;*/
  /*z-index: 3000;*/
  box-sizing: border-box;
  margin: 0 auto 0.1em auto;
  padding: calc(calc(var(--font-size-base, 1) * 0.9) * 2) 2px;
  width: calc(100vw - 18px);
  height: calc(var(--vh, 100vh) - (var(--font-size-base, 1rem) * 0.8));
  overflow-y: scroll;
}
body #edit.off {
  display: none;
}
body #edit .cm-scroller {
  overflow: auto;
  min-height: 550px;
}
body #edit #editor {
  height: 100%;
}
body table {
  position: relative;
  border-collapse: collapse;
}
body table tr:hover td {
  background: black;
  cursor: pointer;
}
body table th,
body table td {
  padding: 0 !important;
}
body table .val-nil {
  color: darkslategrey;
}
body table td[class*="scale-"] {
  --r-1: 241;
  --g-1: 222;
  --b-1: 236;
  --r-2: 241;
  --g-2: 6;
  --b-2: 186;
  color: rgb(calc(var(--r-1) - ((var(--r-1) - var(--r-2)) * var(--intensity))), calc(var(--g-1) - ((var(--g-1) - var(--g-2)) * var(--intensity))), calc(var(--b-1) - ((var(--b-1) - var(--b-2)) * var(--intensity))));
}
body button.icon {
  display: inline-block;
  min-width: 80px;
  height: 17px;
  background-color: transparent;
  padding: 0;
  margin: 0;
}
body button.icon.off {
  opacity: 0.3;
  cursor: not-allowed;
}
body img.icon,
body span.icon.letter {
  width: 24px;
  height: 24px;
  background-color: white;
  border-radius: 6px;
  border: thin solid black;
  cursor: pointer;
}
body img.icon.secondary,
body span.icon.letter.secondary {
  background-color: #ff32a8;
}
body img.icon:hover,
body span.icon.letter:hover {
  filter: invert(1);
}
body span.icon.letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: black;
  font-size: 15px;
  font-weight: bold;
  line-height: 1;
  vertical-align: middle;
}
body section div.datatable-dropdown {
  display: none;
}
body[data-mode="glass"] {
  background-color: black;
}
body[data-mode="glass"] #fill {
  display: block;
}
body.frozen.loading {
  overflow: hidden;
  position: relative;
}
body.frozen.loading::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  z-index: 9999;
}
body.frozen.loading::after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3498db;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
body > .off {
  display: none;
}
body div#env[data-env="loc"] {
  position: fixed;
  top: 0;
  right: 0;
  border-radius: 9%;
  border: 3px solid yellow;
  background-color: red;
  rotate: 13deg;
}
[id="portal.console"].inline {
  display: block;
  width: 100%;
  box-sizing: border-box;
  color: var(--font-color-prim);
}
[id="portal.console"].inline:nth-child(even) {
  background: var(--background-color-prim);
}
[id="portal.console"].inline:nth-child(odd) {
  background: var(--background-color-sec);
}
[id="portal.console"]:not(.inline) {
  background: #ffb86c;
  color: black;
  font-size: calc(var(--font-size-base, 1) * 1);
  font-weight: bold;
  position: fixed;
  overflow: auto;
  opacity: 0.5;
  max-height: 60px;
  width: 80%;
  padding: 5px;
  z-index: 99999;
  border: 2px solid #ff8706;
  background: #f1fa8c;
  bottom: 10px;
  left: 0;
}
[id="portal.console"]:not(.inline).on {
  display: block;
}
[id="portal.console"]:not(.inline).off {
  display: none;
}
#console {
  color: black;
  font-size: calc(var(--font-size-base, 1) * 1);
  font-weight: bold;
  position: fixed;
  overflow: auto;
  opacity: 0.5;
  max-height: 60px;
  width: 80%;
  padding: 5px;
  z-index: 99999;
  border: 2px solid #ff8706;
  background: #ffb86c;
  top: 10px;
  left: 0;
  display: none;
}
#console.on {
  display: block;
}
#console.off {
  display: none;
}
details.full {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  /* VERY important in flex layouts */
}
details.full div {
  display: block;
  width: 100%;
}
ol.quick-menu {
  padding-inline-start: calc(calc(var(--font-size-base, 1) * 1) * 1);
  list-style: circle;
  margin-block: 2px;
}
.saka-flag {
  position: absolute;
  background-color: black;
  color: white;
  opacity: 0.8;
  z-index: 99999;
  font-size: x-small;
  overflow: hidden;
  border-radius: 3px;
  border: thin solid darkgray;
}
div.intensity {
  width: 330px;
  height: 25px;
  position: relative;
  background: linear-gradient(to right, transparent, rgba(241, 6, 186, 0.57));
  border-radius: 6px;
}
div.intensity .scaled[style*="--intensity: 1"] {
  background-color: #6071a4;
  color: white;
  border: 2px solid #4c5a85;
  border-radius: 4px;
  display: inline-block;
  min-width: 20px;
  height: 20px;
  width: var(--w);
  left: var(--left);
  text-align: center;
  cursor: pointer;
}
div.intensity .scaled[style*="--intensity: 1"] a {
  display: inline-block;
  width: 100%;
  font-size: smaller;
}
div.intensity .scaled[style*="--intensity: 2"] {
  background-color: #b67db6;
  color: white;
  border: 2px solid #a45ca4;
  border-radius: 4px;
  display: inline-block;
  min-width: 20px;
  height: 20px;
  width: var(--w);
  left: var(--left);
  text-align: center;
  cursor: pointer;
}
div.intensity .scaled[style*="--intensity: 2"] a {
  display: inline-block;
  width: 100%;
  font-size: smaller;
}
div.intensity .scaled[style*="--intensity: 3"] {
  background-color: #f991a3;
  color: black;
  border: 2px solid #f6617b;
  border-radius: 4px;
  display: inline-block;
  min-width: 20px;
  height: 20px;
  width: var(--w);
  left: var(--left);
  text-align: center;
  cursor: pointer;
}
div.intensity .scaled[style*="--intensity: 3"] a {
  display: inline-block;
  width: 100%;
  font-size: smaller;
}
div.intensity .scaled[style*="--intensity: 4"] {
  background-color: #ffbf89;
  color: black;
  border: 2px solid #ffa356;
  border-radius: 4px;
  display: inline-block;
  min-width: 20px;
  height: 20px;
  width: var(--w);
  left: var(--left);
  text-align: center;
  cursor: pointer;
}
div.intensity .scaled[style*="--intensity: 4"] a {
  display: inline-block;
  width: 100%;
  font-size: smaller;
}
div.intensity .scaled[style*="--intensity: 5"] {
  background-color: #f1fa89;
  color: black;
  border: 2px solid #ebf858;
  border-radius: 4px;
  display: inline-block;
  min-width: 20px;
  height: 20px;
  width: var(--w);
  left: var(--left);
  text-align: center;
  cursor: pointer;
}
div.intensity .scaled[style*="--intensity: 5"] a {
  display: inline-block;
  width: 100%;
  font-size: smaller;
}
.vertical-text {
  display: inline-block;
  /* Allows the element to be sized */
  transform: rotate(-90deg);
  /* Rotate clockwise 90° */
  transform-origin: center;
  /* Pivot point (adjust as needed) */
  /* Optional: keep the text readable after rotation */
  white-space: nowrap;
  font-size: 80%;
  background-color: var(--background);
}
div.ui-tooltip {
  border: calc(6px * 0.6) solid var(--background-color-sec);
  background-color: #cb0074;
  color: var(--font-color-prim);
  padding: 2px;
  border-radius: 8px;
  font-size: 14px;
  z-index: 9999;
}
div.ui-tooltip ol {
  display: inline-block;
  margin: 0;
  padding: 0;
}
div.ui-tooltip ol li {
  list-style: none;
  display: inline-block;
}
div.ui-tooltip button.toolbar-button {
  background-color: var(--border-color-sec);
  padding: 0;
  margin: 2px;
  width: var(--icon-size);
  height: var(--icon-size);
}
div.ui-tooltip button.toolbar-button img {
  width: var(--icon-size);
  height: var(--icon-size);
}
div.ui-tooltip button.toolbar-button.dummy {
  opacity: 0.1;
}
div.ui-tooltip button.toolbar-button.extra {
  background: linear-gradient(135deg, var(--border-color-sec) 80%, #ff32a8 20%);
}
div.ui-tooltip button.toolbar-button.textual {
  width: auto !important;
}
div.ui-tooltip button.toolbar-button.textual span {
  font-size: 14px;
}
div.ui-tooltip button.toolbar-button span {
  font-size: 9px;
  line-height: 1;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: inline-block;
}
#msc {
  border: 2px solid #6272a4;
  border-radius: 3px;
  max-height: 400px;
  overflow-y: auto;
}
#msc text {
  font-family: monospace;
}
#msc g.actor text {
  font-size: 5px;
  fill: #bd93f9;
}
#msc g.actor line {
  stroke: #6272a4;
  stroke-width: 10px;
}
#msc .row-info-text {
  font-family: monospace;
  font-size: 10px;
  fill: #8be9fd;
}
#msc g.message text {
  font-size: 12px;
  fill: white;
}
#msc g.message line {
  stroke: #ff79c6;
  stroke-width: 2px;
}
#msc g.message path {
  stroke: #8be9fd;
  stroke-width: 2px;
}
.dropzone {
  width: 320px;
  height: 60px;
  border: 2px dashed #666;
  border-radius: 8px;
  text-align: center;
  line-height: 60px;
  font-family: sans-serif;
  font-size: small;
  color: #555;
  margin: 6px auto;
  transition: background 0.2s;
}
.dropzone input {
  padding: 0;
}
.dropzone input[type="file"] {
  display: none;
}
.dropzone.dragover {
  background: #eef;
}
.dropzone:focus {
  background: red;
}
.minor {
  color: gray;
}
@keyframes blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
    border-left: 14px solid #f1fa8c;
    filter: glow(20px);
    text-shadow: 0 0 2px #fff, 0 0 5px #fff, 0 0 15px #fff, 0 0 10px #f1fa8c, 0 0 15px #f1fa8c, 0 0 10px #f1fa8c, 0 0 10px #f1fa8c, 0 0 15px #f1fa8c;
  }
}
/* Apply the blink for ? seconds, then stop */
.blink‑once {
  animation: blink 0.3s ease-out 2 forwards;
  /* 0.6 s × 2 = 1.2 s */
}
a[href],
button,
input,
select,
textarea,
select,
iframe,
object,
embed,
summary,
[tabindex]:not([tabindex="-1"]) {
  --type: "focusable";
}
a[href]:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
select:focus,
iframe:focus,
object:focus,
embed:focus,
summary:focus,
[tabindex]:not([tabindex="-1"]):focus {
  outline: none;
  position: relative;
  z-index: 3;
  border-radius: 5px;
  box-shadow: 0 0 0 3px var(--focus-halo), 0 0 0 4px var(--focus-ring), 0 3px 10px -2px var(--focus-shadow);
  transition: box-shadow 160ms ease-out;
}
a[href]:focus:where(input[type="checkbox"], input[type="radio"]),
button:focus:where(input[type="checkbox"], input[type="radio"]),
input:focus:where(input[type="checkbox"], input[type="radio"]),
select:focus:where(input[type="checkbox"], input[type="radio"]),
textarea:focus:where(input[type="checkbox"], input[type="radio"]),
select:focus:where(input[type="checkbox"], input[type="radio"]),
iframe:focus:where(input[type="checkbox"], input[type="radio"]),
object:focus:where(input[type="checkbox"], input[type="radio"]),
embed:focus:where(input[type="checkbox"], input[type="radio"]),
summary:focus:where(input[type="checkbox"], input[type="radio"]),
[tabindex]:not([tabindex="-1"]):focus:where(input[type="checkbox"], input[type="radio"]) {
  border-radius: 50%;
  box-shadow: 0 0 0 0.35em var(--focus-halo), 0 0 0 0.45em var(--focus-ring), 0 0 0.8em 0.4em var(--focus-shadow);
}
a[href]:focus:has(:focus),
button:focus:has(:focus),
input:focus:has(:focus),
select:focus:has(:focus),
textarea:focus:has(:focus),
select:focus:has(:focus),
iframe:focus:has(:focus),
object:focus:has(:focus),
embed:focus:has(:focus),
summary:focus:has(:focus),
[tabindex]:not([tabindex="-1"]):focus:has(:focus) {
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  a[href]:focus,
  button:focus,
  input:focus,
  select:focus,
  textarea:focus,
  select:focus,
  iframe:focus,
  object:focus,
  embed:focus,
  summary:focus,
  [tabindex]:not([tabindex="-1"]):focus {
    transition: none;
  }
}
.dashboard-config {
  font-size: smaller;
}
.tabulator {
  font-family: var(--font-family-small);
  font-size: calc(var(--font-size-base, 1) * 1);
  line-height: calc(var(--font-size-base, 1) * 0.9);
  background-color: var(--background-color-prim);
  color: var(--font-color-prim);
  border: calc(6px * 0.2) solid var(--border-color-prim);
  border-radius: 6px;
  overflow: hidden;
}
.tabulator .tabulator-header,
.tabulator .tabulator-headers {
  background-color: var(--background-color-sec);
  color: var(--font-color-prim);
  border-bottom: calc(6px * 0.2) solid var(--border-color-prim);
  font-weight: bold;
}
.tabulator .tabulator-col {
  background-color: var(--background-color-sec);
  border-right: 1px solid var(--border-color-sec);
}
.tabulator .tabulator-col .tabulator-col-content {
  padding: 4px 6px;
}
.tabulator .tabulator-col .tabulator-col-title {
  font-family: var(--font-family-bold);
  color: var(--font-color-sec);
}
.tabulator .tabulator-col .tabulator-col-sorter .tabulator-arrow {
  border-bottom-color: var(--font-color-sec);
  border-top-color: var(--font-color-sec);
}
.tabulator .tabulator-col.tabulator-sortable:hover {
  background-color: var(--background-alt);
  cursor: pointer;
}
.tabulator .tabulator-header-filter input {
  background-color: var(--background-color-prim);
  color: var(--font-color-prim);
  border: 1px solid var(--border-color-sec);
  border-radius: 3px;
  padding: 1px 3px;
  font-family: var(--font-family-small);
  font-size: calc(var(--font-size-base, 1) * 0.90);
}
.tabulator .tabulator-header-filter input:focus {
  outline: none;
  position: relative;
  z-index: 3;
  border-radius: 5px;
  box-shadow: 0 0 0 3px var(--focus-halo), 0 0 0 4px var(--focus-ring), 0 3px 10px -2px var(--focus-shadow);
  transition: box-shadow 160ms ease-out;
}
.tabulator .tabulator-header-filter input:focus:where(input[type="checkbox"], input[type="radio"]) {
  border-radius: 50%;
  box-shadow: 0 0 0 0.35em var(--focus-halo), 0 0 0 0.45em var(--focus-ring), 0 0 0.8em 0.4em var(--focus-shadow);
}
.tabulator .tabulator-header-filter input:focus:has(:focus) {
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  .tabulator .tabulator-header-filter input:focus {
    transition: none;
  }
}
.tabulator .tabulator-tableholder {
  background-color: var(--background-color-prim);
}
.tabulator .tabulator-tableholder .tabulator-placeholder {
  color: var(--font-color-sec);
  opacity: 0.6;
}
.tabulator .tabulator-row {
  background-color: var(--background-color-prim);
  color: var(--font-color-prim);
  border-bottom: 1px solid var(--border-color-sec);
  min-height: calc(calc(var(--font-size-base, 1) * 1) * 1.6);
}
.tabulator .tabulator-row.tabulator-row-even {
  background-color: var(--background-color-sec);
}
.tabulator .tabulator-row.tabulator-selectable:hover,
.tabulator .tabulator-row:hover {
  background-color: var(--background-alt);
  cursor: pointer;
}
.tabulator .tabulator-row.tabulator-selectable:hover .tabulator-cell,
.tabulator .tabulator-row:hover .tabulator-cell {
  background-color: transparent;
}
.tabulator .tabulator-row.tabulator-selected {
  background-color: #44475a;
  color: var(--font-color-prim);
}
.tabulator .tabulator-row .tabulator-row-handle {
  color: var(--font-color-sec);
  opacity: 0.5;
}
.tabulator .tabulator-cell {
  padding: 2px 6px !important;
  border-right: 1px solid var(--border-color-sec);
  color: inherit;
}
.tabulator .tabulator-cell[class*="scale-"] {
  --r-1: 241;
  --g-1: 222;
  --b-1: 236;
  --r-2: 241;
  --g-2: 6;
  --b-2: 186;
  color: rgb(calc(var(--r-1) - ((var(--r-1) - var(--r-2)) * var(--intensity))), calc(var(--g-1) - ((var(--g-1) - var(--g-2)) * var(--intensity))), calc(var(--b-1) - ((var(--b-1) - var(--b-2)) * var(--intensity))));
}
.tabulator .tabulator-cell .val-nil {
  color: darkslategrey;
}
.tabulator .tabulator-cell a {
  color: var(--links, #8be9fd);
  text-decoration: underline;
}
.tabulator .tabulator-footer {
  background-color: var(--background-color-sec);
  color: var(--font-color-sec);
  border-top: calc(6px * 0.2) solid var(--border-color-prim);
}
.tabulator .tabulator-footer .tabulator-paginator,
.tabulator .tabulator-footer .tabulator-page {
  color: var(--font-color-prim);
  background-color: var(--background-color-prim);
  border: 1px solid var(--border-color-sec);
  border-radius: 3px;
  margin: 2px;
  padding: 1px 4px;
}
.tabulator .tabulator-footer .tabulator-paginator.active,
.tabulator .tabulator-footer .tabulator-page.active,
.tabulator .tabulator-footer .tabulator-paginator:hover,
.tabulator .tabulator-footer .tabulator-page:hover {
  background-color: #06de3d;
  color: #fff;
}
.tabulator .tabulator-cell.tabulator-editing input,
.tabulator .tabulator-cell.tabulator-editing select,
.tabulator .tabulator-cell.tabulator-editing textarea {
  background-color: var(--background-color-prim);
  color: var(--font-color-prim);
  border: 1px solid #ff79c6;
}
body.dark .tabulator .tabulator-row.tabulator-selected {
  background-color: #393c4b;
}
body.light .tabulator {
  border-color: #ff1d9f;
}
body.light .tabulator .tabulator-row.tabulator-selected {
  background-color: #ffffff;
  color: black;
}
.link-preview {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 216px;
  gap: 4px;
  padding: 6px;
  border: 1px solid currentColor;
  border-radius: 4px;
  text-decoration: none;
  line-height: 1.3;
}
.link-preview img {
  max-width: 100%;
  height: auto;
  border-radius: 2px;
}
.link-preview .link-preview-title {
  font-weight: 600;
}
.link-preview .link-preview-caption {
  font-size: 0.85em;
  opacity: 0.8;
}
dialog.s4-dialog article.paper {
  padding: 0;
  max-height: 70vh;
  overflow-y: auto;
  line-height: 1.5;
}
dialog.s4-dialog article.paper code {
  background-color: transparent;
  font-size: var(--font-size-base);
}
dialog.s4-dialog article.paper ul {
  margin-block-start: 2px;
  margin-block-end: 4px;
  padding-inline-start: calc(var(--font-size-base, 1) * 0.9);
}
dialog.s4-dialog article.paper ul li {
  line-height: calc(var(--font-size-base, 1) * 0.9);
  list-style-type: disc;
}
dialog.s4-dialog article.paper ul li p {
  /* margin-block: 0; */
  margin-block: calc(calc(var(--font-size-base, 1) * 1) * 0.16);
}
dialog.s4-dialog article.paper p {
  margin-block: calc(calc(var(--font-size-base, 1) * 1) * 0.5);
}
dialog.s4-dialog article.paper a :not(table *) {
  border-radius: 6px;
  padding: 1px;
  background-color: var(--background-color-sec);
  opacity: 0.8;
}
dialog.s4-dialog article.paper table {
  font-size: inherit;
}
dialog.s4-dialog article.paper .list-gap {
  height: calc(calc(var(--font-size-base, 1) * 0.9) * 0.7);
}
dialog.s4-dialog article.paper section[data-level] {
  padding-left: 10px;
}
dialog.s4-dialog article.paper section[data-level] h1,
dialog.s4-dialog article.paper section[data-level] h2,
dialog.s4-dialog article.paper section[data-level] h3,
dialog.s4-dialog article.paper section[data-level] h4,
dialog.s4-dialog article.paper section[data-level] h5,
dialog.s4-dialog article.paper section[data-level] h6,
dialog.s4-dialog article.paper section[data-level] h7,
dialog.s4-dialog article.paper section[data-level] h8,
dialog.s4-dialog article.paper section[data-level] h9 {
  font-weight: bolder;
  font-style: normal;
  font-size: calc(1.4 * var(--font-size-base)) px;
  line-height: var(--font-size-base) px;
  font-family: var(--font-family-bold);
  margin: 0 !important;
}
dialog.s4-dialog article.paper details[data-level] {
  display: block;
  position: relative;
  margin: 0 0 0 calc(3px * var(--level));
  padding: 5px 0 0 0;
  background-color: transparent !important;
}
dialog.s4-dialog article.paper details[data-level] summary {
  padding: 8px 3px;
}
dialog.s4-dialog article.paper details[data-level] summary h1,
dialog.s4-dialog article.paper details[data-level] summary h2,
dialog.s4-dialog article.paper details[data-level] summary h3,
dialog.s4-dialog article.paper details[data-level] summary h4,
dialog.s4-dialog article.paper details[data-level] summary h5,
dialog.s4-dialog article.paper details[data-level] summary h6,
dialog.s4-dialog article.paper details[data-level] summary h7,
dialog.s4-dialog article.paper details[data-level] summary h8,
dialog.s4-dialog article.paper details[data-level] summary h9 {
  font-weight: bolder;
  font-style: normal;
  font-family: var(--font-family-bold);
  font-size: calc(1.4 * var(--font-size-base)) px;
  line-height: var(--font-size-base) px;
  margin: 0;
}
dialog.s4-dialog article.paper table {
  width: auto;
}
dialog.s4-dialog article.paper a.preview img {
  width: 50vw;
  max-width: 300px;
  height: auto;
}
dialog.s4-dialog article.paper .fragment-touchbar {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  line-height: 1;
  width: calc(calc(var(--font-size-base, 1) * 0.90)*1.2);
  height: calc(calc(var(--font-size-base, 1) * 0.90)*1.2);
  font-family: var(--font-family-small);
  font-size: calc(var(--font-size-base, 1) * 0.90);
  /* Pivot point (adjust as needed) */
  /* Optional: keep the text readable after rotation */
  color: var(--border-color-prim);
  border-radius: 10px;
  position: absolute;
  right: 10px;
  top: 10px;
}
dialog.s4-dialog article.paper .fragment-clickable {
  cursor: pointer;
  color: var(--border-color-prim);
  border-radius: 10px;
}
dialog.s4-dialog article.paper .debug {
  display: none;
}
dialog.s4-dialog button.dialog-button {
  z-index: 9999;
}
dialog.s4-dialog menu button.active {
  font-weight: bold;
  outline: 2px solid var(--font-color-sec);
  outline-offset: 1px;
}
dialog.s4-dialog menu .game-missing {
  color: #f59e0b;
  font-weight: normal;
}
dialog.s4-dialog menu .campaign-count {
  opacity: 0.55;
  font-weight: normal;
}
dialog.s4-dialog #dialog-campaign-doc,
dialog.s4-dialog #dialog-game-doc {
  opacity: 0.6;
  font-size: 0.75em;
  word-break: break-all;
  margin-bottom: 0.4em;
}
dialog.s4-dialog b.quickDiff del {
  opacity: 0.4;
}
@media (max-width: 768px) {
  body #glass.on .menu-content .auto-results-wrapper ul#auto-menu-input-results {
    max-height: calc(var(--vh, 100vh) - 180px);
  }
}
details:has(> .gpx-frame),
details:has(> section > .gpx-frame) {
  align-items: stretch;
}
.gpx-frame {
  height: min(70vh, var(--vh, 70vh));
  min-height: 300px;
  position: relative;
}
.gpx-locate {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  border: 1px solid var(--border-color-sec);
  border-radius: 4px;
  background: var(--background-color-prim, #fff);
  color: #0b63d6;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.gpx-locate:hover {
  background: var(--background-color-sec, #e5e5e5);
}
.gpx-locate.busy {
  opacity: 0.6;
  cursor: progress;
}
.gpx-locate.on {
  background: #0b63d6;
  color: var(--background-color-prim, #fff);
  border-color: #0b63d6;
}
.gpx-locate.hunting {
  animation: gpx-locate-pulse 1.2s ease-in-out infinite;
}
@keyframes gpx-locate-pulse {
  50% {
    opacity: 0.55;
  }
}
.gpx-profile {
  margin-top: 0.5rem;
}
.gpx-profile-hidden {
  display: none;
}
.gpx-frame:has(~ .gpx-profile-hidden) {
  height: min(85vh, var(--vh, 85vh));
}
.gpx-profile-readout {
  font-family: var(--font-mono, monospace);
  font-size: 0.85em;
  opacity: 0.85;
  margin-bottom: 0.25rem;
}
.gpx-profile-chart {
  height: 120px;
  width: 100%;
  cursor: crosshair;
  touch-action: pan-y;
}
.gpx-profile-area {
  fill: rgba(204, 51, 51, 0.18);
  stroke: none;
}
.gpx-grade {
  stroke: none;
}
.gpx-grade-tick-0 {
  fill: rgba(204, 51, 51, 0.14);
}
.gpx-grade-tick-1 {
  fill: rgba(204, 51, 51, 0.3);
}
.gpx-profile-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.25rem;
  font-family: var(--font-mono, monospace);
  font-size: 0.75em;
  opacity: 0.8;
}
.gpx-profile-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.gpx-profile-cursor {
  stroke: #0b63d6;
  stroke-width: 3;
  pointer-events: none;
}
.gpx-profile-cursor-halo {
  stroke: #fff;
  stroke-width: 7;
  opacity: 0.85;
  pointer-events: none;
}
.gpx-profile-cursor-dot {
  fill: #0b63d6;
  stroke: #fff;
  stroke-width: 2;
  pointer-events: none;
}
.gpx-profile-line {
  fill: none;
  stroke: #c33;
  stroke-width: 2;
  stroke-linejoin: round;
}
@media (max-width: 768px) {
  .gpx-frame {
    height: min(45vh, var(--vh, 45vh));
  }
  .gpx-frame:has(~ .gpx-profile-hidden) {
    height: min(80vh, var(--vh, 80vh));
  }
  .gpx-profile-chart {
    height: 150px;
  }
  .gpx-profile-readout {
    font-size: 0.95rem;
    opacity: 1;
  }
  .gpx-profile-legend {
    font-size: 0.75rem;
  }
  .gpx-profile-cursor {
    stroke-width: 4;
  }
  .gpx-profile-cursor-halo {
    stroke-width: 9;
  }
  .gpx-locate {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.3rem;
  }
}
.pdf-frame {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
details:has(> .pdf-frame) {
  align-items: stretch;
}
.pdf-fallback {
  padding: 1rem;
  border: 1px dashed var(--border-color-sec);
  text-align: center;
}
.pdf-actions {
  margin: 0;
}
.pdf-actions a {
  display: inline-block;
  padding: 0.5rem 1rem;
  border: 1px solid var(--border-color-sec);
  border-radius: 4px;
  text-decoration: none;
}
.replace-image-busy {
  position: relative;
  min-height: 4em;
}
.replace-image-busy::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  margin: -14px 0 0 -14px;
  border: 3px solid var(--border-color-sec, #888);
  border-top-color: var(--font-color-sec, #3498db);
  border-radius: 50%;
  animation: replaceImageSpin 900ms linear infinite;
  pointer-events: none;
}
@keyframes replaceImageSpin {
  to {
    transform: rotate(360deg);
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL2JlYm8vZGV2L2syL3VudGlsb29wL3Nzc3Mvc291cmNlL2Fzc2V0cy90aGVtZS1iYXJlL3JlcG9sZXJvLWVmZmVjdC5sZXNzIiwiL2hvbWUvYmViby9kZXYvazIvdW50aWxvb3Avc3Nzcy9zb3VyY2UvYXNzZXRzL3RoZW1lLWJhcmUvY29kZWRpdG9yLmxlc3MiLCIvaG9tZS9iZWJvL2Rldi9rMi91bnRpbG9vcC9zc3NzL3NvdXJjZS9hc3NldHMvdGhlbWUtYmFyZS9yZXBvbGVyby5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0E7RUFDRSxZQUFZLGlFQUFaO0VBTUEsYUFBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFXLG1CQUFtQixjQUE5QjtFQUNBLFdBQUE7O0FBR0Y7RUFDRSxZQUFZLHVGQUFaO0VBTUEsZUFBQTtFQUNBLGNBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTs7QUFHRjtFQUNFLFlBQVksd0ZBQVo7RUFNQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBOztBQUdGO0VBQ0UsMEJBQUE7RUFDQSxrQkFBa0IsMEZBT2hCLDBGQVBGO0VBY0EsYUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7O0FBR0Y7RUFDRSxZQUFZLDZGQUFaO0VBTUEsZUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsOERBQUE7O0FBR0Y7RUFDRSxXQUFBO0VBQ0Esc0JB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LEdBQUcsVUFtQkMsUUFBTztFQUNMLHlCQUFBO0VBS0EsWUFBQTtFQUVBLHlCQUFBO0VBQ0Esa0JBQUE7RUFFQSxxQkFBQTtFQUVBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsT0FBTyxRQUFQO0VBQ0EsTUFBTSxXQUFOO0VBRUEsa0JBQUE7RUFFQSxlQUFBOztBQXZDTixHQUFHLFVBbUJDLFFBQU8seUJBc0JMO0VBQ0UscUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBNUNSLEdBQUcsVUFtQkMsUUFBTztFQUNMLHlCQUFBO0VBS0EsWUFBQTtFQUVBLHlCQUFBO0VBQ0Esa0JBQUE7RUFFQSxxQkFBQTtFQUVBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsT0FBTyxRQUFQO0VBQ0EsTUFBTSxXQUFOO0VBRUEsa0JBQUE7RUFFQSxlQUFBOztBQXZDTixHQUFHLFVBbUJDLFFBQU8seUJBc0JMO0VBQ0UscUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBNUNSLEdBQUcsVUFtQkMsUUFBTztFQUNMLHlCQUFBO0VBS0EsWUFBQTtFQUVBLHlCQUFBO0VBQ0Esa0JBQUE7RUFFQSxxQkFBQTtFQUVBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsT0FBTyxRQUFQO0VBQ0EsTUFBTSxXQUFOO0VBRUEsa0JBQUE7RUFFQSxlQUFBOztBQXZDTixHQUFHLFVBbUJDLFFBQU8seUJBc0JMO0VBQ0UscUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBNUNSLEdBQUcsVUFtQkMsUUFBTztFQUNMLHlCQUFBO0VBS0EsWUFBQTtFQUVBLHlCQUFBO0VBQ0Esa0JBQUE7RUFFQSxxQkFBQTtFQUVBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsT0FBTyxRQUFQO0VBQ0EsTUFBTSxXQUFOO0VBRUEsa0JBQUE7RUFFQSxlQUFBOztBQXZDTixHQUFHLFVBbUJDLFFBQU8seUJBc0JMO0VBQ0UscUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBNUNSLEdBQUcsVUFtQkMsUUFBTztFQUNMLHlCQUFBO0VBS0EsWUFBQTtFQUVBLHlCQUFBO0VBQ0Esa0JBQUE7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 */