html, body, #root { height: 100%; margin: 0px; padding: 0px; }
body { background: rgb(255, 255, 255); font-family: system-ui, -apple-system, sans-serif; }
@media (prefers-color-scheme: dark) {
  body { background: rgb(28, 28, 30); }
  #splash { color: rgb(152, 152, 157); }
  #splash-spinner { border-color: rgb(99, 99, 102) rgb(56, 56, 58) rgb(56, 56, 58); }
}
#splash { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: rgb(110, 110, 115); gap: 12px; }
#splash-spinner { width: 24px; height: 24px; border-width: 2.5px; border-style: solid; border-color: rgb(110, 110, 115) rgb(210, 210, 215) rgb(210, 210, 215); border-image: none; border-radius: 50%; animation: 0.8s linear infinite spin; }
@keyframes spin { 
  100% { transform: rotate(360deg); }
}
@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
  *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial; --tw-skew-x: initial; --tw-skew-y: initial; --tw-space-y-reverse: 0; --tw-border-style: solid; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial; --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial; --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial; --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial; }
}
}
@layer theme {
  :root, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-white: #fff; --spacing: .25rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-6xl: 3.75rem; --text-6xl--line-height: 1; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --radius-md: .375rem; --radius-lg: .5rem; --animate-spin: spin 1s linear infinite; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}
@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-optical-sizing: inherit; font-feature-settings: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-optical-sizing: inherit; font-feature-settings: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder { color: currentcolor; }
  @supports (color:color-mix(in lab,red,red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}
@layer components;
@layer utilities {
  .pointer-events-none { pointer-events: none; }
  .collapse { visibility: collapse; }
  .invisible { visibility: hidden; }
  .visible { visibility: visible; }
  .absolute { position: absolute; }
  .fixed { position: fixed; }
  .relative { position: relative; }
  .static { position: static; }
  .sticky { position: sticky; }
  .inset-0 { inset: 0px; }
  .inset-y-0 { inset-block: 0px; }
  .start-0 { inset-inline-start: calc(var(--spacing) * 0); }
  .start-full { inset-inline-start: 100%; }
  .end-0 { inset-inline-end: calc(var(--spacing) * 0); }
  .end-3 { inset-inline-end: calc(var(--spacing) * 3); }
  .top-0 { top: 0px; }
  .top-3 { top: calc(var(--spacing) * 3); }
  .right-0 { right: 0px; }
  .bottom-4 { bottom: calc(var(--spacing) * 4); }
  .left-0 { left: 0px; }
  .left-1\/2 { left: 50%; }
  .isolate { isolation: isolate; }
  .z-10 { z-index: 10; }
  .z-50 { z-index: 50; }
  .container { width: 100%; }
  @media (min-width: 40rem) {
  .container { max-width: 40rem; }
}
  @media (min-width: 48rem) {
  .container { max-width: 48rem; }
}
  @media (min-width: 64rem) {
  .container { max-width: 64rem; }
}
  @media (min-width: 80rem) {
  .container { max-width: 80rem; }
}
  @media (min-width: 96rem) {
  .container { max-width: 96rem; }
}
  .m-0 { margin: 0px; }
  .-mx-1 { margin-inline: calc(var(--spacing) * -1); }
  .-mx-3 { margin-inline: calc(var(--spacing) * -3); }
  .mx-8 { margin-inline: calc(var(--spacing) * 8); }
  .my-1 { margin-block: var(--spacing); }
  .-ms-0\.5 { margin-inline-start: calc(var(--spacing) * -.5); }
  .ms-0\.5 { margin-inline-start: calc(var(--spacing) * .5); }
  .ms-1 { margin-inline-start: var(--spacing); }
  .ms-auto { margin-inline-start: auto; }
  .-mt-0\.5 { margin-top: calc(var(--spacing) * -.5); }
  .-mt-1 { margin-top: calc(var(--spacing) * -1); }
  .mt-2 { margin-top: calc(var(--spacing) * 2); }
  .mt-3 { margin-top: calc(var(--spacing) * 3); }
  .mt-4 { margin-top: calc(var(--spacing) * 4); }
  .mt-5 { margin-top: calc(var(--spacing) * 5); }
  .mb-1 { margin-bottom: var(--spacing); }
  .mb-2 { margin-bottom: calc(var(--spacing) * 2); }
  .block { display: block; }
  .contents { display: contents; }
  .flex { display: flex; }
  .hidden { display: none; }
  .inline { display: inline; }
  .inline-block { display: inline-block; }
  .table { display: table; }
  .h-1\.5 { height: calc(var(--spacing) * 1.5); }
  .h-4 { height: calc(var(--spacing) * 4); }
  .h-5 { height: calc(var(--spacing) * 5); }
  .h-7 { height: calc(var(--spacing) * 7); }
  .h-auto { height: auto; }
  .h-full { height: 100%; }
  .min-h-0 { min-height: 0px; }
  .min-h-full { min-height: 100%; }
  .w-1\.5 { width: calc(var(--spacing) * 1.5); }
  .w-3 { width: calc(var(--spacing) * 3); }
  .w-4 { width: calc(var(--spacing) * 4); }
  .w-5 { width: calc(var(--spacing) * 5); }
  .w-7 { width: calc(var(--spacing) * 7); }
  .w-20 { width: calc(var(--spacing) * 20); }
  .w-\[10px\] { width: 10px; }
  .w-full { width: 100%; }
  .max-w-\[50\%\] { max-width: 50%; }
  .max-w-\[60\%\] { max-width: 60%; }
  .min-w-0 { min-width: 0px; }
  .min-w-\[12rem\] { min-width: 12rem; }
  .flex-1 { flex: 1 1 0%; }
  .shrink-0 { flex-shrink: 0; }
  .grow { flex-grow: 1; }
  .-translate-x-1\/2 { --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); }
  .rotate-90 { rotate: 90deg; }
  .transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }
  .animate-spin { animation: var(--animate-spin); }
  .cursor-col-resize { cursor: col-resize; }
  .cursor-pointer { cursor: pointer; }
  .cursor-row-resize { cursor: row-resize; }
  .touch-none { touch-action: none; }
  .resize { resize: both; }
  .flex-col { flex-direction: column; }
  .items-center { align-items: center; }
  .items-start { align-items: flex-start; }
  .justify-between { justify-content: space-between; }
  .justify-center { justify-content: center; }
  .gap-0\.5 { gap: calc(var(--spacing) * .5); }
  .gap-1 { gap: var(--spacing); }
  .gap-1\.5 { gap: calc(var(--spacing) * 1.5); }
  .gap-2 { gap: calc(var(--spacing) * 2); }
  .gap-2\.5 { gap: calc(var(--spacing) * 2.5); }
  .gap-3 { gap: calc(var(--spacing) * 3); }
  .gap-4 { gap: calc(var(--spacing) * 4); }
  .gap-6 { gap: calc(var(--spacing) * 6); }
  :where(.space-y-0\.5 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-1 > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse)); margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse))); }
  .truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
  .overflow-hidden { overflow: hidden; }
  .overflow-y-auto { overflow-y: auto; }
  .rounded { border-radius: 0.25rem; }
  .rounded-\[var\(--glyph-radius\)\] { border-radius: var(--glyph-radius); }
  .rounded-\[var\(--glyph-radius-sm\)\] { border-radius: var(--glyph-radius-sm); }
  .rounded-full { border-radius: 340282000000000014192072600942972764160px; }
  .rounded-lg { border-radius: var(--radius-lg); }
  .rounded-md { border-radius: var(--radius-md); }
  .border { border-style: var(--tw-border-style); border-width: 1px; }
  .border-0 { border-style: var(--tw-border-style); border-width: 0px; }
  .border-2 { border-style: var(--tw-border-style); border-width: 2px; }
  .border-s { border-inline-start-style: var(--tw-border-style); border-inline-start-width: 1px; }
  .border-s-4 { border-inline-start-style: var(--tw-border-style); border-inline-start-width: 4px; }
  .border-e { border-inline-end-style: var(--tw-border-style); border-inline-end-width: 1px; }
  .border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }
  .border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }
  .border-\[var\(--color-accent\)\] { border-color: var(--color-accent); }
  .border-\[var\(--color-border\)\] { border-color: var(--color-border); }
  .border-s-\[var\(--color-accent\)\] { border-inline-start-color: var(--color-accent); }
  .border-s-\[var\(--color-warning\,\#b45309\)\] { border-inline-start-color: var(--color-warning,#b45309); }
  .border-t-\[var\(--color-accent\)\] { border-top-color: var(--color-accent); }
  .bg-\[var\(--color-accent\)\] { background-color: var(--color-accent); }
  .bg-\[var\(--color-banner-bg\)\] { background-color: var(--color-banner-bg); }
  .bg-\[var\(--color-surface\)\] { background-color: var(--color-surface); }
  .bg-\[var\(--color-surface-secondary\)\] { background-color: var(--color-surface-secondary); }
  .p-0\.5 { padding: calc(var(--spacing) * .5); }
  .p-1 { padding: var(--spacing); }
  .p-4 { padding: calc(var(--spacing) * 4); }
  .px-1 { padding-inline: var(--spacing); }
  .px-1\.5 { padding-inline: calc(var(--spacing) * 1.5); }
  .px-2 { padding-inline: calc(var(--spacing) * 2); }
  .px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }
  .px-3 { padding-inline: calc(var(--spacing) * 3); }
  .px-4 { padding-inline: calc(var(--spacing) * 4); }
  .px-8 { padding-inline: calc(var(--spacing) * 8); }
  .py-0\.5 { padding-block: calc(var(--spacing) * .5); }
  .py-1 { padding-block: var(--spacing); }
  .py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }
  .py-2 { padding-block: calc(var(--spacing) * 2); }
  .py-3 { padding-block: calc(var(--spacing) * 3); }
  .py-6 { padding-block: calc(var(--spacing) * 6); }
  .pt-0\.5 { padding-top: calc(var(--spacing) * .5); }
  .pt-1\.5 { padding-top: calc(var(--spacing) * 1.5); }
  .pt-3 { padding-top: calc(var(--spacing) * 3); }
  .pb-2 { padding-bottom: calc(var(--spacing) * 2); }
  .pb-3 { padding-bottom: calc(var(--spacing) * 3); }
  .text-center { text-align: center; }
  .text-left { text-align: left; }
  .text-start { text-align: start; }
  .text-6xl { font-size: var(--text-6xl); line-height: var(--tw-leading,var(--text-6xl--line-height)); }
  .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading,var(--text-sm--line-height)); }
  .text-xl { font-size: var(--text-xl); line-height: var(--tw-leading,var(--text-xl--line-height)); }
  .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading,var(--text-xs--line-height)); }
  .text-\[13px\] { font-size: 13px; }
  .font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); }
  .font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }
  .font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); }
  .tracking-normal { --tw-tracking: var(--tracking-normal); letter-spacing: var(--tracking-normal); }
  .tracking-wide { --tw-tracking: var(--tracking-wide); letter-spacing: var(--tracking-wide); }
  .tracking-wider { --tw-tracking: var(--tracking-wider); letter-spacing: var(--tracking-wider); }
  .tab-0 { tab-size: 0; }
  .tab-1 { tab-size: 1; }
  .tab-2 { tab-size: 2; }
  .text-\[\#e5484d\] { color: rgb(229, 72, 77); }
  .text-\[var\(--color-text-primary\)\] { color: var(--color-text-primary); }
  .text-\[var\(--color-text-secondary\)\] { color: var(--color-text-secondary); }
  .text-\[var\(--color-text-tertiary\)\] { color: var(--color-text-tertiary); }
  .text-white { color: var(--color-white); }
  .lowercase { text-transform: lowercase; }
  .normal-case { text-transform: none; }
  .uppercase { text-transform: uppercase; }
  .italic { font-style: italic; }
  .ordinal { --tw-ordinal: ordinal; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); }
  .underline { text-decoration-line: underline; }
  .opacity-20 { opacity: 0.2; }
  .opacity-50 { opacity: 0.5; }
  .opacity-60 { opacity: 0.6; }
  .opacity-70 { opacity: 0.7; }
  .opacity-80 { opacity: 0.8; }
  .opacity-90 { opacity: 0.9; }
  .shadow { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.22\)\] { --tw-shadow: 0 10px 30px var(--tw-shadow-color,#00000038); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .shadow\/SGMD { --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a); box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow); }
  .outline { outline-style: var(--tw-outline-style); outline-width: 1px; }
  .blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease,var(--default-transition-timing-function)); transition-duration: var(--tw-duration,var(--default-transition-duration)); }
  .outline-none { --tw-outline-style: none; outline-style: none; }
  .select-none { -webkit-user-select: none; }
  .last\:border-b-0:last-child { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; }
  @media (hover: hover) {
  .hover\:bg-\[color-mix\(in_srgb\,var\(--color-accent\)_16\%\,transparent\)\]:hover { background-color: var(--color-accent); }
  @supports (color:color-mix(in lab,red,red)) {
  .hover\:bg-\[color-mix\(in_srgb\,var\(--color-accent\)_16\%\,transparent\)\]:hover { background-color: color-mix(in srgb,var(--color-accent) 16%,transparent); }
}
  .hover\:bg-\[var\(--color-accent\)\]\/50:hover { background-color: var(--color-accent); }
  @supports (color:color-mix(in lab,red,red)) {
  .hover\:bg-\[var\(--color-accent\)\]\/50:hover { background-color: color-mix(in oklab,var(--color-accent) 50%,transparent); }
}
  .hover\:bg-\[var\(--color-accent-hover\)\]:hover { background-color: var(--color-accent-hover); }
  .hover\:bg-\[var\(--color-surface-secondary\)\]:hover { background-color: var(--color-surface-secondary); }
  .hover\:bg-\[var\(--color-surface-tertiary\)\]:hover { background-color: var(--color-surface-tertiary); }
  .hover\:text-\[var\(--color-text-primary\)\]:hover { color: var(--color-text-primary); }
  .hover\:text-\[var\(--color-text-secondary\)\]:hover { color: var(--color-text-secondary); }
}
  .focus\:bg-\[color-mix\(in_srgb\,var\(--color-accent\)_16\%\,transparent\)\]:focus { background-color: var(--color-accent); }
  @supports (color:color-mix(in lab,red,red)) {
  .focus\:bg-\[color-mix\(in_srgb\,var\(--color-accent\)_16\%\,transparent\)\]:focus { background-color: color-mix(in srgb,var(--color-accent) 16%,transparent); }
}
  .focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }
  .focus-visible\:bg-\[var\(--color-accent\)\]\/50:focus-visible { background-color: var(--color-accent); }
  @supports (color:color-mix(in lab,red,red)) {
  .focus-visible\:bg-\[var\(--color-accent\)\]\/50:focus-visible { background-color: color-mix(in oklab,var(--color-accent) 50%,transparent); }
}
  .active\:bg-\[var\(--color-accent\)\]:active { background-color: var(--color-accent); }
  @media (hover: hover) {
  .enabled\:hover\:text-\[var\(--color-text-primary\)\]:enabled:hover { color: var(--color-text-primary); }
}
  .disabled\:opacity-40:disabled { opacity: 0.4; }
}
:root { --glyph-font: system-ui, -apple-system, sans-serif; --glyph-radius: 6px; --glyph-radius-sm: 4px; --glyph-shadow: 0 1px 3px #0000001a; --glyph-titlebar-height: 0px; --glyph-sidebar-blur: 0px; --glyph-sidebar-bg: var(--color-surface-secondary); }
[data-platform="macos"] { --glyph-font: "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, sans-serif; --glyph-radius: 8px; --glyph-radius-sm: 6px; --glyph-shadow: 0 1px 4px #00000014; --glyph-titlebar-height: 52px; --glyph-sidebar-blur: 20px; --glyph-sidebar-bg: #f5f5f7cc; }
.dark[data-platform="macos"] { --glyph-sidebar-bg: #2c2c2ecc; }
[data-platform="windows"] { --glyph-font: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif; --glyph-radius: 4px; --glyph-radius-sm: 2px; --glyph-shadow: 0 1px 3px #0000001f; }
[data-platform="linux"] { --glyph-font: system-ui, "Ubuntu", "Cantarell", sans-serif; --glyph-radius: 6px; --glyph-radius-sm: 4px; --glyph-shadow: 0 1px 3px #0000001a; }
.markdown-body { line-height: var(--glyph-line-height,1.7); font-size: var(--glyph-font-size,16px); color: var(--color-text-primary); max-width: var(--glyph-content-width,800px); margin: 0px auto; padding-bottom: 70vh; }
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { margin-top: 1.5em; margin-bottom: 0.5em; scroll-margin-top: 16px; font-weight: 600; line-height: 1.3; }
.markdown-body h1 { border-bottom: 1px solid var(--color-border); padding-bottom: 0.3em; font-size: 2em; }
.markdown-body h2 { border-bottom: 1px solid var(--color-border); padding-bottom: 0.3em; font-size: 1.5em; }
.markdown-body h3 { font-size: 1.25em; }
.markdown-body h4 { font-size: 1em; }
.markdown-body h5 { font-size: 0.875em; }
.markdown-body h6 { color: var(--color-text-secondary); font-size: 0.85em; }
.markdown-body .heading-anchor { vertical-align: middle; width: 1.1em; height: 1.1em; color: var(--color-text-tertiary); cursor: pointer; opacity: 0; background: 0px 0px; border: medium; justify-content: center; align-items: center; margin-left: 0.4em; padding: 0px; transition: opacity 0.15s, color 0.15s; display: inline-flex; }
.markdown-body .heading-anchor svg { width: 1em; height: 1em; }
.markdown-body :is(h1, h2, h3, h4, h5, h6):hover .heading-anchor, .markdown-body .heading-anchor:focus-visible { opacity: 1; }
.markdown-body .heading-anchor:hover { color: var(--color-text-primary); }
.markdown-body .heading-anchor.copied { opacity: 1; color: var(--color-accent); }
.markdown-body p { margin: 0px 0px 1em; }
.markdown-body :is(p, li, h1, h2, h3, h4, h5, h6, th, td) { unicode-bidi: plaintext; }
.markdown-body pre, .markdown-body code, .markdown-body .katex { direction: ltr; unicode-bidi: isolate; }
.markdown-body a { color: var(--color-accent); text-decoration: none; }
.markdown-body a:hover { text-decoration: underline; }
.markdown-body a.wikilink { color: var(--color-accent); border-bottom: 1px dashed var(--color-accent); text-decoration: none; }
@supports (color:color-mix(in lab,red,red)) {
  .markdown-body a.wikilink { border-bottom: 1px dashed color-mix(in srgb,var(--color-accent) 60%,transparent); }
}
.markdown-body a.wikilink:hover { border-bottom-style: solid; text-decoration: none; }
.markdown-body a.wikilink--broken { color: var(--color-text-tertiary); border-bottom-color: var(--color-text-tertiary); }
@supports (color:color-mix(in lab,red,red)) {
  .markdown-body a.wikilink--broken { border-bottom-color: color-mix(in srgb,var(--color-text-tertiary) 50%,transparent); }
}
.markdown-body a.wikilink--broken { cursor: not-allowed; }
.markdown-body a.wikilink--broken:hover { border-bottom-style: dashed; }
.markdown-body .markdown-embed { border: 1px solid var(--color-border); border-radius: var(--glyph-radius); background: var(--color-surface-secondary); margin: 1em 0px; padding: 0.25em 1em; position: relative; }
.markdown-body .markdown-embed__body > :first-child { margin-top: 0px; }
.markdown-body .markdown-embed__body > :last-child { margin-bottom: 0px; }
.markdown-body .markdown-embed__source { border-radius: var(--glyph-radius-sm); color: var(--color-text-tertiary); opacity: 0; cursor: pointer; top: 0.5em; padding: 0.25em; transition: opacity 0.12s; display: inline-flex; position: absolute; inset-inline-end: 0.5em; }
.markdown-body .markdown-embed:hover .markdown-embed__source { opacity: 1; }
.markdown-body .markdown-embed__source:hover { color: var(--color-accent); background: var(--color-surface); }
.markdown-body .markdown-embed__status { color: var(--color-text-tertiary); font-style: italic; }
.markdown-body .markdown-embed--broken { color: var(--color-text-tertiary); border-style: dashed; font-style: italic; }
.markdown-body strong { font-weight: 600; }
.markdown-body img { border-radius: var(--glyph-radius); max-width: 100%; box-shadow: var(--glyph-shadow); }
.markdown-body blockquote { border-inline-start: 4px solid var(--color-accent); background: var(--color-surface-secondary); color: var(--color-text-secondary); border-radius: 0px; border-start-end-radius: var(--glyph-radius-sm); border-end-end-radius: var(--glyph-radius-sm); margin: 0px 0px 1em; padding: 0.5em 1em; }
.markdown-body blockquote p:last-child { margin-bottom: 0px; }
.markdown-body .markdown-alert { border-inline-start: 4px solid var(--alert-accent,var(--color-accent)); background: var(--alert-accent,var(--color-accent)); margin: 0px 0px 1em; padding: 0.5em 1em; }
@supports (color:color-mix(in lab,red,red)) {
  .markdown-body .markdown-alert { background: color-mix(in srgb,var(--alert-accent,var(--color-accent)) 8%,transparent); }
}
.markdown-body .markdown-alert { color: var(--color-text-primary); border-radius: 0px; border-start-end-radius: var(--glyph-radius-sm); border-end-end-radius: var(--glyph-radius-sm); }
.markdown-body .markdown-alert > :last-child { margin-bottom: 0px; }
.markdown-body .markdown-alert-title { color: var(--alert-accent,var(--color-accent)); align-items: center; gap: 0.4em; margin-bottom: 0.5em; font-weight: 600; line-height: 1; display: flex; }
.markdown-body .markdown-alert-title svg { fill: currentcolor; width: 1em; height: 1em; }
.markdown-body .markdown-alert-note { --alert-accent: var(--color-alert-note); }
.markdown-body .markdown-alert-tip { --alert-accent: var(--color-alert-tip); }
.markdown-body .markdown-alert-important { --alert-accent: var(--color-alert-important); }
.markdown-body .markdown-alert-warning { --alert-accent: var(--color-alert-warning); }
.markdown-body .markdown-alert-caution { --alert-accent: var(--color-alert-caution); }
.markdown-body ul, .markdown-body ol { margin: 0px 0px 1em; padding-inline-start: 2em; }
.markdown-body li { margin: 0.25em 0px; }
.markdown-body ul.contains-task-list { padding-inline-start: 0.5em; list-style: none; }
.markdown-body ul.contains-task-list ul, .markdown-body ul.contains-task-list ol { padding-inline-start: 1.5em; }
.markdown-body li.task-list-item { align-items: baseline; gap: 0.5em; display: flex; }
.markdown-body li.task-list-item > input[type="checkbox"], .markdown-body li input[type="checkbox"] { appearance: checkbox; accent-color: var(--color-accent); cursor: pointer; flex-shrink: 0; width: 1em; height: 1em; margin: 0px; }
.markdown-body li input[type="checkbox"]:disabled { cursor: default; }
.markdown-body code { font-family: var(--glyph-code-font,"SF Mono", "Fira Code", "Cascadia Code", "JetBrains Mono", monospace); background: var(--color-surface-secondary); border-radius: var(--glyph-radius-sm); padding: 0.2em 0.4em; font-size: 0.875em; }
.markdown-body .code-block-wrapper { margin: 0px 0px 1em; position: relative; }
.markdown-body .code-block-wrapper pre { margin: 0px; }
.markdown-body .code-copy-button { border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); background: var(--color-surface-secondary); width: 32px; height: 32px; color: var(--color-text-tertiary); cursor: pointer; opacity: 0; z-index: 1; top: 8px; justify-content: center; align-items: center; padding: 0px; transition: opacity 0.15s, color 0.15s, background 0.15s; display: flex; position: absolute; inset-inline-end: 8px; }
.markdown-body .code-block-wrapper:hover .code-copy-button, .markdown-body .code-copy-button:focus-visible { opacity: 1; }
.markdown-body .code-copy-button:hover { background: var(--color-surface); color: var(--color-text-primary); }
.markdown-body .code-copy-button.copied { opacity: 1; color: var(--color-accent); }
.markdown-body pre { background: var(--color-surface-secondary); border-radius: var(--glyph-radius); border: 1px solid var(--color-border); margin: 0px 0px 1em; padding: 1em; overflow-x: auto; }
.markdown-body pre code { background: 0px 0px; padding: 0px; font-size: 0.85em; line-height: 1.6; }
.markdown-body .katex-display { margin: 1em 0px; overflow: auto hidden; }
.markdown-body .katex { color: var(--color-text-primary); }
.markdown-body .mermaid-diagram { text-align: center; margin: 0px 0px 1em; overflow-x: auto; }
.markdown-body .mermaid-diagram svg { max-width: 100%; height: auto; }
.markdown-body .mermaid-diagram[role="button"], .markdown-body .d2-diagram[role="button"] { cursor: zoom-in; }
.markdown-body .mermaid-error .mermaid-error-label { color: var(--color-text-tertiary); margin-bottom: 0.5em; font-size: 0.8em; }
.markdown-body .d2-diagram { text-align: center; margin: 0px 0px 1em; overflow-x: auto; }
.markdown-body .d2-diagram svg { max-width: 100%; height: auto; }
.markdown-body .d2-error .d2-error-label { color: var(--color-text-tertiary); margin-bottom: 0.5em; font-size: 0.8em; }
.markdown-body table { border-collapse: collapse; border-spacing: 0px; width: 100%; margin: 0px 0px 1em; }
.markdown-body th, .markdown-body td { border: 1px solid var(--color-border); text-align: start; padding: 0.5em 1em; }
.markdown-body th { background: var(--color-surface-secondary); font-weight: 600; }
.markdown-body tr:nth-child(2n) { background: var(--color-surface-secondary); }
.markdown-body .csv-table-wrapper { border: 1px solid var(--color-border); border-radius: var(--glyph-radius); background: var(--color-surface-secondary); margin: 0px 0px 1em; overflow-x: auto; }
.markdown-body .csv-table { border: medium; margin: 0px; }
.markdown-body .csv-table th:first-child, .markdown-body .csv-table td:first-child { border-inline-start: medium; }
.markdown-body .csv-table th:last-child, .markdown-body .csv-table td:last-child { border-inline-end: medium; }
.markdown-body .csv-table tr:first-child th { border-top: medium; }
.markdown-body hr { border-right: medium; border-bottom: medium; border-left: medium; border-image: none; border-top: 1px solid var(--color-border); margin: 2em 0px; }
.markdown-body .footnotes { border-top: 1px solid var(--color-border); color: var(--color-text-secondary); margin-top: 2em; padding-top: 1em; font-size: 0.875em; }
.markdown-body .footnotes ol { padding-inline-start: 1.5em; }
.markdown-body .footnotes li { margin: 0.5em 0px; }
.markdown-body .footnotes li p { margin: 0.25em 0px; }
.markdown-body [data-footnote-ref] { color: var(--color-accent); font-weight: 600; text-decoration: none; }
.markdown-body [data-footnote-ref]::before { content: "["; }
.markdown-body [data-footnote-ref]::after { content: "]"; }
.markdown-body [data-footnote-backref] { color: var(--color-text-secondary); text-decoration: none; }
.markdown-body [data-footnote-backref]:hover { color: var(--color-accent); }
.markdown-body .sr-only { clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }
.markdown-body kbd { font-family: var(--glyph-code-font,ui-monospace, monospace); color: var(--color-text-primary); background: var(--color-surface-secondary); border: 1px solid var(--color-border); box-shadow: inset 0 -1px 0 var(--color-border); vertical-align: middle; border-radius: 4px; padding: 0.15em 0.4em; font-size: 0.85em; line-height: 1; display: inline-block; }
.markdown-body details { background: var(--color-surface-secondary); border: 1px solid var(--color-border); border-radius: 6px; margin: 0px 0px 1em; padding: 0.5em 0.75em; }
.markdown-body details > summary { cursor: pointer; list-style: revert; font-weight: 600; }
.markdown-body details[open] > summary { margin-bottom: 0.5em; }
.markdown-body details > summary::marker { color: var(--color-text-secondary); }
.markdown-body sub, .markdown-body sup { font-size: 0.75em; line-height: 0; }
.markdown-body .frontmatter-table { border: 1px solid var(--color-border); border-radius: var(--glyph-radius); background: var(--color-surface-secondary); border-collapse: separate; border-spacing: 0px; width: auto; margin: 0px 0px 2em; font-size: 0.9em; overflow: hidden; }
.markdown-body .frontmatter-table th, .markdown-body .frontmatter-table td { border-top: medium; border-right: medium; border-left: medium; border-image: none; border-bottom: 1px solid var(--color-border); text-align: start; vertical-align: middle; background: 0px 0px; padding: 0.45em 0.9em; }
.markdown-body .frontmatter-table tr:last-child > th, .markdown-body .frontmatter-table tr:last-child > td { border-bottom: medium; }
.markdown-body .frontmatter-table tr:nth-child(2n) { background: 0px 0px; }
.markdown-body .frontmatter-table th { white-space: nowrap; width: 1%; font-family: var(--glyph-code-font,ui-monospace, monospace); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-tertiary); border-inline-end: 1px solid var(--color-border); font-size: 0.78em; font-weight: 600; }
.markdown-body .frontmatter-table td { color: var(--color-text-primary); }
.markdown-body .frontmatter-value-title { font-size: 1.05em; font-weight: 600; }
.markdown-body .frontmatter-cell-icon { vertical-align: -0.15em; opacity: 0.6; margin-inline-end: 0.45em; }
.markdown-body .frontmatter-tags { flex-wrap: wrap; gap: 0.35em; margin: 0px; padding: 0px; list-style: none; display: flex; }
.markdown-body .frontmatter-tag { --tag-color: hsl(var(--tag-h,220) 65% 42%); --tag-bg: hsl(var(--tag-h,220) 70% 96%); --tag-border: hsl(var(--tag-h,220) 55% 86%); background: var(--tag-bg); color: var(--tag-color); border: 1px solid var(--tag-border); border-radius: 999px; margin: 0px; padding: 0.15em 0.65em; font-size: 0.85em; font-weight: 500; transition: transform 0.15s, box-shadow 0.15s; }
.markdown-body .frontmatter-tag:hover { box-shadow: 0 2px 8px var(--tag-color); transform: translateY(-1px); }
@supports (color:color-mix(in lab,red,red)) {
  .markdown-body .frontmatter-tag:hover { box-shadow: 0 2px 8px color-mix(in srgb,var(--tag-color) 30%,transparent); }
}
.markdown-body .frontmatter-tag-hash { opacity: 0.55; margin-inline-end: 0.05em; }
.dark .markdown-body .frontmatter-tag { --tag-color: hsl(var(--tag-h,220) 65% 78%); --tag-bg: hsl(var(--tag-h,220) 35% 17%); --tag-border: hsl(var(--tag-h,220) 35% 28%); }
.notebook-body { max-width: 56rem; color: var(--color-text-primary); margin: 0px auto; padding-bottom: 40vh; }
.nb-cell { margin-bottom: 1.25rem; }
.notebook-body .markdown-body { max-width: none; margin-inline: 0px; padding-bottom: 0px; }
.notebook-body .markdown-body > :first-child { margin-top: 0px; }
.notebook-body .markdown-body > :last-child { margin-bottom: 0px; }
.nb-row { grid-template-columns: 4.5rem minmax(0px, 1fr); align-items: start; gap: 0.5rem; display: grid; }
.nb-prompt { font-family: var(--glyph-mono,ui-monospace, SFMono-Regular, Menlo, monospace); text-align: end; color: var(--color-text-tertiary); -webkit-user-select: none; white-space: nowrap; font-size: 0.8rem; line-height: 1.5; }
.nb-prompt-out { padding-top: 0px; }
.nb-prompt-in { color: var(--color-accent); padding-top: 1rem; }
.nb-row-body { min-width: 0px; }
.nb-cell-code { border: 1px solid var(--color-border); border-radius: 8px; padding: 0.5rem 0.75rem; overflow: hidden; }
.nb-code-source pre { background: var(--color-surface-secondary); border: 0px; border-radius: 6px; margin: 0px; }
.nb-output-row { margin-top: 0.5rem; }
.nb-output-text, .nb-raw { font-family: var(--glyph-mono,ui-monospace, SFMono-Regular, Menlo, monospace); white-space: pre-wrap; word-break: break-word; color: var(--color-text-primary); margin: 0px; font-size: 0.82rem; line-height: 1.5; }
.nb-output-stderr { background: var(--color-alert-caution); }
@supports (color:color-mix(in lab,red,red)) {
  .nb-output-stderr { background: color-mix(in srgb,var(--color-alert-caution) 8%,transparent); }
}
.nb-output-error { background: var(--color-alert-caution); }
@supports (color:color-mix(in lab,red,red)) {
  .nb-output-error { background: color-mix(in srgb,var(--color-alert-caution) 10%,transparent); }
}
.nb-output-error { border-radius: 6px; padding: 0.5rem 0.75rem; }
.nb-output-image { background: rgb(255, 255, 255); border-radius: 4px; max-width: 100%; height: auto; }
.nb-output-unsupported { color: var(--color-text-tertiary); padding: 0.4rem 0px; font-size: 0.8rem; font-style: italic; }
.nb-source-banner { color: var(--color-text-secondary); background: var(--color-surface-secondary); border-bottom: 1px solid var(--color-border); flex-shrink: 0; padding: 0.4rem 2rem; font-size: 0.78rem; }
.nb-error-state, .nb-empty-state { text-align: center; max-width: 40rem; color: var(--color-text-secondary); margin: 2rem auto; }
.nb-error-title { color: var(--color-alert-caution); margin-bottom: 0.25rem; font-weight: 600; }
.nb-error-detail { font-family: var(--glyph-mono,ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 0.82rem; }
.ansi-bold { font-weight: 600; }
.ansi-italic { font-style: italic; }
.ansi-underline { text-decoration: underline; }
.ansi-fg-black { color: rgb(29, 29, 31); }
.ansi-fg-red { color: rgb(207, 34, 46); }
.ansi-fg-green { color: rgb(26, 127, 55); }
.ansi-fg-yellow { color: rgb(154, 103, 0); }
.ansi-fg-blue { color: rgb(9, 105, 218); }
.ansi-fg-magenta { color: rgb(130, 80, 223); }
.ansi-fg-cyan { color: rgb(27, 124, 131); }
.ansi-fg-white, .ansi-fg-bright-black { color: rgb(110, 110, 115); }
.ansi-fg-bright-red { color: rgb(255, 107, 107); }
.ansi-fg-bright-green { color: rgb(63, 185, 80); }
.ansi-fg-bright-yellow { color: rgb(212, 167, 44); }
.ansi-fg-bright-blue { color: rgb(88, 166, 255); }
.ansi-fg-bright-magenta { color: rgb(191, 140, 255); }
.ansi-fg-bright-cyan { color: rgb(86, 212, 221); }
.ansi-fg-bright-white { color: rgb(245, 245, 247); }
.dark .ansi-fg-black { color: rgb(201, 201, 205); }
.dark .ansi-fg-red { color: rgb(255, 123, 114); }
.dark .ansi-fg-green { color: rgb(63, 185, 80); }
.dark .ansi-fg-yellow { color: rgb(210, 153, 34); }
.dark .ansi-fg-blue { color: rgb(88, 166, 255); }
.dark .ansi-fg-magenta { color: rgb(191, 140, 255); }
.dark .ansi-fg-cyan { color: rgb(86, 212, 221); }
.dark .ansi-fg-white { color: rgb(245, 245, 247); }
.ansi-bg-black { background-color: rgb(29, 29, 31); }
.ansi-bg-red { background-color: rgb(207, 34, 46); }
.ansi-bg-green { background-color: rgb(26, 127, 55); }
.ansi-bg-yellow { background-color: rgb(154, 103, 0); }
.ansi-bg-blue { background-color: rgb(9, 105, 218); }
.ansi-bg-magenta { background-color: rgb(130, 80, 223); }
.ansi-bg-cyan { background-color: rgb(27, 124, 131); }
.ansi-bg-white { background-color: rgb(210, 210, 215); }
.ansi-bg-bright-black { background-color: rgb(110, 110, 115); }
.ansi-bg-bright-red { background-color: rgb(255, 107, 107); }
.ansi-bg-bright-green { background-color: rgb(63, 185, 80); }
.ansi-bg-bright-yellow { background-color: rgb(212, 167, 44); }
.ansi-bg-bright-blue { background-color: rgb(88, 166, 255); }
.ansi-bg-bright-magenta { background-color: rgb(191, 140, 255); }
.ansi-bg-bright-cyan { background-color: rgb(86, 212, 221); }
.ansi-bg-bright-white { background-color: rgb(245, 245, 247); }
.glyph-canvas { flex: 1 1 auto; position: relative; overflow: hidden; }
.glyph-canvas-stage { cursor: grab; touch-action: none; background-color: var(--color-surface); background-image: radial-gradient(circle,var(--color-border) 1px,transparent 1px); background-size: 24px 24px; position: absolute; inset: 0px; overflow: hidden; }
.glyph-canvas-stage[data-panning] { cursor: grabbing; }
.glyph-canvas-world { transform-origin: 0px 0px; position: absolute; top: 0px; left: 0px; }
.glyph-canvas-group { border: 2px solid var(--color-border); background: var(--glyph-canvas-group-bg); border-radius: 12px; position: absolute; }
.glyph-canvas-node-group-label { color: var(--color-text-secondary); white-space: nowrap; text-overflow: ellipsis; padding: 8px 14px; font-size: 13px; font-weight: 600; overflow: hidden; }
.glyph-canvas-node { border: 1px solid var(--color-border); background: var(--color-surface); border-radius: 10px; position: absolute; box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 4px; }
.glyph-canvas-node-content { border-radius: inherit; width: 100%; height: 100%; overflow: auto; }
.glyph-canvas-node[data-type="group"] { background: var(--glyph-canvas-group-bg); box-shadow: none; border-width: 2px; border-radius: 12px; }
.glyph-canvas-node-text.markdown-body { max-width: none; font-size: calc(var(--glyph-font-size,16px) * .875); margin: 0px; padding: 10px 14px; line-height: 1.5; }
.glyph-canvas-node-text > :first-child { margin-top: 0px; }
.glyph-canvas-node-text > :last-child { margin-bottom: 0px; }
.glyph-canvas-node-link, .glyph-canvas-node-file { width: 100%; height: 100%; color: var(--color-accent); font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; text-align: center; cursor: pointer; background: 0px 0px; border: 0px; justify-content: center; align-items: center; padding: 10px 14px; display: flex; }
.glyph-canvas-node-link-url, .glyph-canvas-node-file-name { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.glyph-canvas-node-image { object-fit: contain; width: 100%; height: 100%; display: block; }
.glyph-canvas-edges { pointer-events: none; color: var(--color-text-tertiary); position: absolute; top: 0px; left: 0px; overflow: visible; }
.glyph-canvas-edge-label { fill: var(--color-text-secondary); stroke: var(--color-surface); stroke-width: 4px; stroke-linejoin: round; paint-order: stroke; font-size: 12px; }
.glyph-canvas-toolbar { border: 1px solid var(--color-border); background: var(--color-surface); border-radius: 8px; align-items: center; gap: 4px; padding: 4px; display: flex; position: absolute; bottom: 12px; right: 12px; box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px; }
.glyph-canvas-toolbar button { min-width: 28px; height: 28px; color: var(--color-text-primary); cursor: pointer; background: 0px 0px; border: 0px; border-radius: 6px; padding: 0px 8px; font-size: 15px; }
.glyph-canvas-toolbar button:hover { background: var(--color-surface-tertiary); }
.glyph-canvas-zoom-level { text-align: center; min-width: 44px; color: var(--color-text-secondary); font-variant-numeric: tabular-nums; font-size: 12px; }
.glyph-canvas-error { height: 100%; color: var(--color-text-secondary); text-align: center; flex-direction: column; justify-content: center; align-items: center; gap: 8px; padding: 24px; display: flex; }
.glyph-canvas-error code { color: var(--color-text-tertiary); font-size: 12px; }
.glyph-canvas[data-editing] .glyph-canvas-node[data-selected] { border-color: var(--color-accent); box-shadow: 0 0 0 2px var(--glyph-canvas-selection); }
.glyph-canvas-node-editor { width: 100%; height: 100%; color: var(--color-text-primary); font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; resize: none; background: 0px 0px; border: 0px; outline: medium; padding: 10px 14px; }
.glyph-canvas-node-editor::placeholder { color: var(--color-text-tertiary); }
.glyph-canvas-node-editor { scrollbar-width: none; }
.glyph-canvas-resize { border: 1px solid var(--color-surface); background: var(--color-accent); cursor: nwse-resize; border-radius: 2px; width: 10px; height: 10px; position: absolute; bottom: -5px; right: -5px; }
.glyph-canvas-connector { border: 2px solid var(--color-surface); background: var(--color-accent); cursor: crosshair; border-radius: 50%; width: 11px; height: 11px; position: absolute; }
.glyph-canvas-connector[data-side="top"] { top: -6px; left: 50%; transform: translate(-50%); }
.glyph-canvas-connector[data-side="bottom"] { bottom: -6px; left: 50%; transform: translate(-50%); }
.glyph-canvas-connector[data-side="left"] { top: 50%; left: -6px; transform: translateY(-50%); }
.glyph-canvas-connector[data-side="right"] { top: 50%; right: -6px; transform: translateY(-50%); }
.glyph-canvas-edges[data-interactive] .glyph-canvas-edge-hit { pointer-events: stroke; cursor: pointer; }
.glyph-canvas-temp-edge { stroke: var(--color-accent); stroke-width: 2px; stroke-dasharray: 5, 4; }
.glyph-canvas-edge-label-editor { border: 1px solid var(--color-accent); background: var(--color-surface); width: 140px; color: var(--color-text-primary); text-align: center; border-radius: 6px; outline: medium; padding: 3px 8px; font-size: 12px; position: absolute; transform: translate(-50%, -50%); }
.glyph-canvas-selection-toolbar { border: 1px solid var(--color-border); background: var(--color-surface); border-radius: 8px; align-items: center; gap: 6px; padding: 6px 8px; display: flex; position: absolute; top: 12px; left: 50%; transform: translate(-50%); box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px; }
.glyph-canvas-swatch { border: 1px solid var(--color-border); cursor: pointer; border-radius: 50%; width: 18px; height: 18px; padding: 0px; }
.glyph-canvas-swatch[data-clear] { background: linear-gradient(to top left,transparent 45%,var(--color-alert-caution) 46%,var(--color-alert-caution) 54%,transparent 55%),var(--color-surface); }
.glyph-canvas-swatch[data-custom] { appearance: none; background: conic-gradient(rgb(251, 70, 76), rgb(233, 151, 63), rgb(224, 222, 113), rgb(68, 207, 110), rgb(83, 223, 221), rgb(168, 130, 255), rgb(251, 70, 76)); }
.glyph-canvas-swatch[data-custom]::-webkit-color-swatch-wrapper { padding: 0px; }
.glyph-canvas-swatch[data-custom]::-webkit-color-swatch { opacity: 0; border: medium; }
.glyph-canvas-delete { background: var(--color-alert-caution); color: rgb(255, 255, 255); cursor: pointer; border: 0px; border-radius: 6px; margin-left: 4px; padding: 4px 10px; font-size: 12px; }
.glyph-canvas-toolbar-sep { background: var(--color-border); width: 1px; height: 18px; }
.settings-overlay { z-index: 100; background: rgba(0, 0, 0, 0.4); justify-content: center; align-items: center; animation: 0.15s ease-out settings-fade-in; display: flex; position: fixed; inset: 0px; }
@keyframes settings-fade-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.settings-modal { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--glyph-radius); -webkit-user-select: none; flex-direction: column; width: 640px; max-width: 90vw; height: 520px; max-height: 80vh; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif; font-size: 13px; line-height: 1.5; animation: 0.15s ease-out settings-slide-up; display: flex; box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 60px; }
.settings-modal input, .settings-modal textarea { -webkit-user-select: text; }
@keyframes settings-slide-up { 
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0px); }
}
.settings-header { border-bottom: 1px solid var(--color-border); flex-shrink: 0; justify-content: space-between; align-items: center; padding: 14px 20px; display: flex; }
.settings-header h2 { margin: 0px; font-size: 14px; font-weight: 600; }
.settings-close { appearance: none; cursor: pointer; color: var(--color-text-secondary); border-radius: var(--glyph-radius-sm); background: 0px 0px; border: medium; padding: 4px; line-height: 1; }
.settings-close:hover { background: var(--color-surface-tertiary); color: var(--color-text-primary); }
.settings-main { flex: 1 1 0%; min-height: 0px; display: flex; }
.settings-nav { border-inline-end: 1px solid var(--color-border); flex-direction: column; flex-shrink: 0; gap: 2px; width: 148px; padding: 12px 8px; display: flex; overflow-y: auto; }
.settings-tab { appearance: none; cursor: pointer; text-align: start; color: var(--color-text-secondary); border-radius: var(--glyph-radius-sm); background: 0px 0px; border: medium; padding: 7px 12px; font-size: 12px; font-weight: 500; transition: color 0.15s, background-color 0.15s; }
.settings-tab:hover { color: var(--color-text-primary); background: var(--color-surface-tertiary); }
.settings-tab[data-active="true"] { color: var(--color-accent); background: var(--color-accent); }
@supports (color:color-mix(in lab,red,red)) {
  .settings-tab[data-active="true"] { background: color-mix(in srgb,var(--color-accent) 12%,transparent); }
}
.settings-body { flex: 1 1 0%; min-height: 0px; padding: 16px 20px; overflow-y: auto; }
.settings-section { margin-bottom: 20px; }
.settings-section:last-child { margin-bottom: 0px; }
.settings-section-title { text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-tertiary); margin-bottom: 10px; font-size: 11px; font-weight: 600; }
.settings-row { justify-content: space-between; align-items: center; gap: 16px; padding: 6px 0px; display: flex; }
.settings-label { color: var(--color-text-primary); flex-shrink: 0; font-size: 13px; }
.settings-description { color: var(--color-text-tertiary); margin-top: 2px; font-size: 11px; }
.settings-hotkey-search { width: 100%; }
.settings-keymap-help { margin-top: 10px; line-height: 1.6; }
.settings-keymap-help ul { margin: 4px 0px 0px; padding-inline-start: 18px; list-style: outside; }
.settings-keymap-help code { font-family: var(--glyph-code-font,ui-monospace, monospace); background: var(--color-surface-tertiary); border-radius: var(--glyph-radius-sm); padding: 0px 4px; }
.settings-select { appearance: auto; background: var(--color-surface-secondary); border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); color: var(--color-text-primary); cursor: pointer; padding: 4px 8px; font-family: inherit; font-size: 12px; }
.settings-select:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent); outline: medium; }
@supports (color:color-mix(in lab,red,red)) {
  .settings-select:focus { box-shadow: 0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent); }
}
.settings-input { background: var(--color-surface-secondary); border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); color: var(--color-text-primary); width: 180px; padding: 4px 8px; font-family: inherit; font-size: 12px; }
.settings-input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent); outline: medium; }
@supports (color:color-mix(in lab,red,red)) {
  .settings-input:focus { box-shadow: 0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent); }
}
.settings-input[type="password"] { letter-spacing: 0.1em; font-family: monospace; }
.settings-range { align-items: center; gap: 8px; display: flex; }
.settings-range input[type="range"] { appearance: none; background: var(--color-surface-tertiary); border-radius: 2px; outline: medium; width: 120px; height: 4px; }
.settings-range input[type="range"]::-webkit-slider-thumb { appearance: none; cursor: pointer; background: rgb(255, 255, 255); border: 0.5px solid rgba(0, 0, 0, 0.15); border-radius: 50%; width: 16px; height: 16px; box-shadow: rgba(0, 0, 0, 0.2) 0px 0.5px 2px; }
.settings-range-value { color: var(--color-text-secondary); text-align: end; font-variant-numeric: tabular-nums; min-width: 32px; font-size: 11px; }
.settings-toggle { flex-shrink: 0; width: 32px; height: 18px; position: relative; }
.settings-toggle input { opacity: 0; width: 0px; height: 0px; position: absolute; }
.settings-toggle-track { background: var(--color-surface-tertiary); cursor: pointer; border: 0.5px solid rgba(0, 0, 0, 0.1); border-radius: 9px; transition: background 0.25s; position: absolute; inset: 0px; }
.settings-toggle input:checked + .settings-toggle-track { background: var(--color-accent); border-color: rgba(0, 0, 0, 0); }
.settings-toggle-thumb { pointer-events: none; top: 1.5px; background: rgb(255, 255, 255); border-radius: 50%; width: 15px; height: 15px; transition: transform 0.25s; position: absolute; inset-inline-start: 1.5px; box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 2px; }
.settings-toggle input:checked ~ .settings-toggle-thumb { transform: translate(14px); }
[dir="rtl"] .settings-toggle input:checked ~ .settings-toggle-thumb { transform: translate(-14px); }
.settings-segmented { background: var(--color-surface-secondary); border-radius: var(--glyph-radius-sm); gap: 1px; padding: 2px; display: flex; }
.settings-segmented button { appearance: none; cursor: pointer; color: var(--color-text-secondary); border-radius: calc(var(--glyph-radius-sm) - 2px); background: 0px 0px; border: medium; padding: 3px 10px; font-family: inherit; font-size: 11px; font-weight: 500; transition: background 0.15s, color 0.15s, box-shadow 0.15s; }
.settings-segmented button:hover { color: var(--color-text-primary); }
.settings-segmented button[data-active="true"] { background: var(--color-surface); color: var(--color-text-primary); box-shadow: rgba(0, 0, 0, 0.12) 0px 0.5px 2px, rgba(0, 0, 0, 0.04) 0px 0px 0px 0.5px; }
.settings-footer { border-top: 1px solid var(--color-border); flex-shrink: 0; justify-content: space-between; align-items: center; padding: 10px 20px; display: flex; }
.settings-reset-btn { appearance: none; border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); color: var(--color-text-secondary); cursor: pointer; background: 0px 0px; padding: 4px 10px; font-family: inherit; font-size: 11px; }
.settings-reset-btn:hover { background: var(--color-surface-secondary); color: var(--color-text-primary); }
.settings-sync .settings-field { flex-direction: column; gap: 4px; margin-bottom: 14px; display: flex; }
.settings-sync .settings-field-label { color: var(--color-text-primary); font-size: 13px; font-weight: 500; }
.settings-sync .settings-field-hint { color: var(--color-text-secondary); font-size: 11px; font-weight: 400; }
.settings-sync .settings-section-description { color: var(--color-text-secondary); margin: 0px 0px 16px; font-size: 12px; }
.settings-sync .settings-empty, .settings-sync .settings-busy { text-align: center; color: var(--color-text-secondary); padding: 24px 0px; font-size: 13px; }
.settings-sync .settings-error { color: var(--color-error); border-radius: var(--glyph-radius-sm); background: rgba(229, 62, 62, 0.08); margin: 8px 0px 0px; padding: 8px 10px; font-size: 12px; }
.settings-sync .settings-actions { flex-wrap: wrap; gap: 8px; margin-top: 18px; display: flex; }
.settings-sync .settings-segmented { border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); gap: 0px; width: fit-content; display: flex; overflow: hidden; }
.settings-sync .settings-segmented-option { appearance: none; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; color: var(--color-text-secondary); cursor: pointer; background: 0px 0px; border: 0px; padding: 6px 14px; font-size: 12px; }
.settings-sync .settings-segmented-option:not(:first-child) { border-inline-start: 1px solid var(--color-border); }
.settings-sync .settings-segmented-option[data-active="true"] { background: var(--color-accent); color: rgb(255, 255, 255); }
.settings-primary-btn, .settings-secondary-btn, .settings-danger-btn { appearance: none; border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; cursor: pointer; background: var(--color-surface); color: var(--color-text-primary); padding: 6px 14px; font-size: 12px; }
.settings-primary-btn { background: var(--color-accent); color: rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0); }
.settings-primary-btn:disabled, .settings-secondary-btn:disabled, .settings-danger-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.settings-danger-btn { color: var(--color-error); border-color: rgba(229, 62, 62, 0.4); }
.settings-sync-status { background: var(--color-surface-secondary); border-radius: var(--glyph-radius-sm); color: var(--color-text-secondary); flex-direction: column; gap: 4px; margin-top: 18px; padding: 12px; font-size: 12px; display: flex; }
.settings-sync-status .settings-warning { color: var(--color-warning,#b45309); }
.settings-sync > .settings-warning { background: var(--color-surface-secondary); border: 1px solid var(--color-warning,#b45309); border-radius: var(--glyph-radius-sm); color: var(--color-warning,#b45309); justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; padding: 10px 12px; font-size: 13px; display: flex; }
.status-sync-indicator { appearance: none; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: inherit; color: inherit; cursor: pointer; border-radius: var(--glyph-radius-sm); background: 0px 0px; border: 0px; padding: 0px 6px; }
.status-sync-indicator:hover { background: var(--color-surface); }
.status-sync-indicator[data-tone="off"] { color: var(--color-text-tertiary,var(--color-text-secondary)); }
.status-sync-indicator[data-tone="warn"] { color: var(--color-warning,#b45309); }
.status-sync-indicator[data-tone="error"] { color: var(--color-error); }
.tab-bar-container { border-bottom: 1px solid var(--color-border); background: var(--color-surface-secondary); flex-shrink: 0; display: flex; }
.tab-bar-scroll { scrollbar-width: none; flex: 1 1 0%; min-width: 0px; display: flex; overflow-x: auto; }
.tab-bar-scroll::-webkit-scrollbar { display: none; }
.tab-item { color: var(--color-text-secondary); border-inline-end: 1px solid var(--color-border); white-space: nowrap; background: 0px 0px; align-items: center; gap: 6px; min-width: 0px; max-width: 200px; padding: 6px 12px; font-size: 12px; transition: background 0.1s, color 0.1s; display: flex; position: relative; }
.tab-item:hover { background: var(--color-surface-tertiary); }
.tab-item[data-active] { background: var(--color-surface); color: var(--color-text-primary); font-weight: 500; }
.tab-activate { appearance: none; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; color: inherit; cursor: pointer; text-align: start; background: 0px 0px; border: medium; flex: 1 1 0%; align-items: center; gap: 6px; min-width: 0px; margin: 0px; padding: 0px; display: flex; }
.tab-label { text-overflow: ellipsis; overflow: hidden; }
.tab-item[data-loose] .tab-label { font-style: italic; }
.tab-item[data-loose]::before { content: ""; background: var(--color-accent); opacity: 0.7; inset-inline-start: 0px; border-radius: 1px; width: 2px; height: 60%; position: absolute; top: 50%; transform: translateY(-50%); }
.tab-item[data-drop]::after { content: ""; background: var(--color-accent); pointer-events: none; width: 2px; position: absolute; top: 0px; bottom: 0px; }
.tab-item[data-drop="before"]::after { inset-inline-start: 0px; }
.tab-item[data-drop="after"]::after { inset-inline-end: 0px; }
.tab-close { appearance: none; border-radius: var(--glyph-radius-sm); width: 16px; height: 16px; color: var(--color-text-tertiary); cursor: pointer; opacity: 0; background: 0px 0px; border: medium; flex-shrink: 0; justify-content: center; align-items: center; padding: 0px; transition: opacity 0.1s, background 0.1s, color 0.1s; display: flex; }
.tab-item:hover .tab-close, .tab-item[data-active] .tab-close { opacity: 1; }
.tab-close:hover { background: var(--color-surface-tertiary); color: var(--color-text-primary); }
.search-bar { z-index: 50; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--glyph-radius); box-shadow: var(--glyph-shadow),0 4px 12px #00000014; top: 8px; align-items: center; gap: 4px; padding: 4px 8px; font-size: 13px; animation: 0.15s ease-out search-slide-in; display: flex; position: absolute; inset-inline-end: 24px; }
@keyframes search-slide-in { 
  0% { opacity: 0; transform: translateY(-4px); }
  100% { opacity: 1; transform: translateY(0px); }
}
.search-bar input { background: var(--color-surface-secondary); border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); color: var(--color-text-primary); outline: medium; width: 200px; padding: 4px 8px; font-family: inherit; font-size: 13px; }
.search-bar input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent); }
@supports (color:color-mix(in lab,red,red)) {
  .search-bar input:focus { box-shadow: 0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent); }
}
.search-match-count { color: var(--color-text-secondary); white-space: nowrap; text-align: center; font-variant-numeric: tabular-nums; min-width: 60px; font-size: 12px; }
.search-match-count[data-no-results="true"] { color: rgb(229, 62, 62); }
.search-nav-btn { appearance: none; cursor: pointer; color: var(--color-text-secondary); border-radius: var(--glyph-radius-sm); background: 0px 0px; border: medium; justify-content: center; align-items: center; padding: 4px; display: flex; }
.search-nav-btn:hover { background: var(--color-surface-tertiary); color: var(--color-text-primary); }
.search-nav-btn:disabled { opacity: 0.3; cursor: default; pointer-events: none; }
mark.search-highlight { background: var(--color-accent); }
@supports (color:color-mix(in lab,red,red)) {
  mark.search-highlight { background: color-mix(in srgb,var(--color-accent) 25%,transparent); }
}
mark.search-highlight { color: inherit; border-radius: 2px; padding: 1px 0px; }
mark.search-highlight.search-highlight-active { background: var(--color-accent); color: rgb(255, 255, 255); outline: 2px solid var(--color-accent); }
@supports (color:color-mix(in lab,red,red)) {
  mark.search-highlight.search-highlight-active { outline: 2px solid color-mix(in srgb,var(--color-accent) 40%,transparent); }
}
mark.search-highlight.search-highlight-active { outline-offset: 1px; }
.editor-container { background: var(--color-surface); height: 100%; overflow: hidden; }
.editor-container .cm-editor { height: 100%; }
.mode-toggle { flex-shrink: 0; align-items: center; gap: 2px; margin-inline-start: auto; padding: 0px 4px; display: flex; }
.mode-toggle-btn { appearance: none; border-radius: var(--glyph-radius-sm); width: 22px; height: 22px; color: var(--color-text-tertiary); cursor: pointer; background: 0px 0px; border: medium; justify-content: center; align-items: center; padding: 0px; transition: background 0.1s, color 0.1s; display: flex; }
.mode-toggle-btn:hover { background: var(--color-surface-tertiary); color: var(--color-text-primary); }
.mode-toggle-btn[data-active] { color: var(--color-accent); background: var(--color-accent); }
@supports (color:color-mix(in lab,red,red)) {
  .mode-toggle-btn[data-active] { background: color-mix(in srgb,var(--color-accent) 10%,transparent); }
}
.cm-heading { color: var(--color-text-primary); font-weight: 600; }
.cm-heading-1 { font-size: 1.4em; }
.cm-heading-2 { font-size: 1.2em; }
.cm-heading-3 { font-size: 1.1em; }
.cm-strong { color: var(--color-text-primary); font-weight: 700; }
.cm-emphasis { font-style: italic; }
.cm-strikethrough { color: var(--color-text-tertiary); text-decoration: line-through; }
.cm-link { color: var(--color-accent); text-decoration: underline; }
.cm-url { color: var(--color-accent); opacity: 0.7; }
.cm-code { color: var(--color-text-secondary); }
.cm-quote { color: var(--color-text-secondary); font-style: italic; }
.cm-meta { color: var(--color-text-tertiary); }
.cm-keyword { color: rgb(198, 120, 221); }
.cm-string { color: rgb(152, 195, 121); }
.cm-number { color: rgb(209, 154, 102); }
.dark .cm-keyword { color: rgb(199, 146, 234); }
.dark .cm-string { color: rgb(165, 214, 167); }
.dark .cm-number { color: rgb(245, 192, 111); }
.tab-dirty-dot { background: var(--color-accent); border-radius: 50%; flex-shrink: 0; width: 6px; height: 6px; }
.cm-tooltip.cm-tooltip-autocomplete { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--glyph-radius); box-shadow: var(--glyph-shadow); font-family: var(--glyph-font,system-ui, -apple-system, sans-serif); overflow: hidden; }
.cm-tooltip.cm-tooltip-autocomplete > ul { max-height: 240px; color: var(--color-text-primary); font-size: 0.875em; }
.cm-tooltip.cm-tooltip-autocomplete > ul > li { color: var(--color-text-primary); align-items: baseline; gap: 8px; padding: 4px 10px; line-height: 1.5; display: flex; }
.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected] { background: var(--color-accent); color: rgb(255, 255, 255); }
.cm-tooltip.cm-tooltip-autocomplete .cm-completionLabel { color: inherit; }
.cm-tooltip.cm-tooltip-autocomplete .cm-completionMatchedText { color: inherit; font-weight: 600; text-decoration: none; }
.cm-tooltip.cm-tooltip-autocomplete .cm-completionDetail { color: var(--color-text-tertiary); margin-inline-start: auto; font-size: 0.85em; font-style: normal; }
.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected] .cm-completionDetail { color: rgba(255, 255, 255, 0.75); }
.cm-tooltip.cm-tooltip-autocomplete .cm-completionIcon { display: none; }
.cm-misspelled { text-decoration: underline wavy var(--color-error,#e5484d); text-decoration-skip-ink: none; text-underline-offset: 2px; }
.spellcheck-menu { z-index: 1000; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--glyph-radius); min-width: 160px; box-shadow: var(--glyph-shadow); font-family: var(--glyph-font,system-ui, -apple-system, sans-serif); padding: 4px; font-size: 0.875em; position: fixed; }
.spellcheck-menu-item { text-align: start; border-radius: var(--glyph-radius-sm); width: 100%; color: var(--color-text-primary); font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; cursor: pointer; background: 0px 0px; border: medium; padding: 4px 10px; display: block; }
.spellcheck-menu-item:hover { background: var(--color-accent); color: rgb(255, 255, 255); }
.spellcheck-menu-action { color: var(--color-text-secondary); }
.spellcheck-menu-empty { color: var(--color-text-tertiary); padding: 4px 10px; font-style: italic; }
.spellcheck-menu-divider { background: var(--color-border); height: 1px; margin: 4px 0px; }
.command-palette-overlay { z-index: 100; background: rgba(0, 0, 0, 0.4); justify-content: center; align-items: flex-start; padding-top: 12vh; animation: 0.12s ease-out command-palette-fade-in; display: flex; position: fixed; inset: 0px; }
@keyframes command-palette-fade-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.command-palette { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--glyph-radius); flex-direction: column; width: 640px; max-width: 92vw; max-height: 60vh; font-size: 13px; animation: 0.12s ease-out command-palette-slide-down; display: flex; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 60px; }
@keyframes command-palette-slide-down { 
  0% { opacity: 0; transform: translateY(-10px); }
  100% { opacity: 1; transform: translateY(0px); }
}
.command-palette-input { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--color-border); color: var(--color-text-primary); background: 0px 0px; outline: medium; padding: 14px 16px; font-family: inherit; font-size: 15px; }
.command-palette-input::placeholder { color: var(--color-text-tertiary); }
.command-palette-results { flex: 1 1 auto; margin: 0px; padding: 4px 0px; list-style: none; overflow-y: auto; }
.command-palette-results ul { margin: 0px; padding: 0px; list-style: none; }
.command-palette-section { text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-tertiary); padding: 10px 16px 4px; font-size: 10px; font-weight: 600; }
.command-palette-item { appearance: none; text-align: start; width: 100%; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-width: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; color: var(--color-text-primary); cursor: pointer; -webkit-user-select: none; background: 0px 0px; border: 0px; align-items: center; gap: 12px; padding: 8px 16px; display: flex; }
.command-palette-item[data-selected="true"] { background: var(--color-accent); }
@supports (color:color-mix(in lab,red,red)) {
  .command-palette-item[data-selected="true"] { background: color-mix(in srgb,var(--color-accent) 18%,transparent); }
}
.command-palette-title { text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; min-width: 0px; overflow: hidden; }
.command-palette-mark { color: var(--color-accent); background: 0px 0px; font-weight: 600; }
.command-palette-subtitle { color: var(--color-text-tertiary); white-space: nowrap; text-overflow: ellipsis; max-width: 35%; font-size: 11px; overflow: hidden; }
.command-palette-shortcut { color: var(--color-text-tertiary); border: 1px solid var(--color-border); border-radius: var(--glyph-radius-sm); white-space: nowrap; padding: 1px 6px; font-family: -apple-system, "SF Mono", "Roboto Mono", monospace; font-size: 11px; }
.command-palette-empty { color: var(--color-text-tertiary); text-align: center; padding: 14px 16px; }
.markdown-body img[data-zoomable] { cursor: zoom-in; }
.markdown-body img[data-zoomable]:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.lightbox-overlay { z-index: 200; background: rgba(0, 0, 0, 0.85); padding: 64px 72px; animation: 0.12s ease-out lightbox-fade-in; display: flex; position: fixed; inset: 0px; overflow: auto; }
@keyframes lightbox-fade-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.lightbox-image { border-radius: var(--glyph-radius-sm); -webkit-user-select: none; max-width: none; margin: auto; transition: opacity 0.1s ease-out; display: block; box-shadow: rgba(0, 0, 0, 0.5) 0px 12px 48px; }
.lightbox-button { appearance: none; color: rgba(255, 255, 255, 0.85); cursor: pointer; border-radius: var(--glyph-radius-sm); background: 0px 0px; border: 0px; justify-content: center; align-items: center; padding: 6px; transition: background 0.1s ease-out, color 0.1s ease-out; display: inline-flex; }
.lightbox-button:hover:not(:disabled) { color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.15); }
.lightbox-button:disabled { opacity: 0.35; cursor: default; }
.lightbox-close { top: 16px; position: fixed; inset-inline-end: 16px; }
.lightbox-nav { background: rgba(0, 0, 0, 0.35); width: 40px; height: 40px; position: fixed; top: 50%; transform: translateY(-50%); }
.lightbox-prev { inset-inline-start: 16px; }
.lightbox-next { inset-inline-end: 16px; }
.lightbox-toolbar { border-radius: var(--glyph-radius); background: rgba(20, 20, 20, 0.9); border: 1px solid rgba(255, 255, 255, 0.12); align-items: center; gap: 4px; padding: 6px 10px; display: flex; position: fixed; bottom: 20px; left: 50%; transform: translate(-50%); box-shadow: rgba(0, 0, 0, 0.4) 0px 8px 24px; }
.lightbox-zoom-level { text-align: center; font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, 0.85); -webkit-user-select: none; min-width: 48px; font-size: 12px; }
.lightbox-counter { font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, 0.7); -webkit-user-select: none; padding: 0px 6px; font-size: 12px; }
.lightbox-toolbar-divider { background: rgba(255, 255, 255, 0.15); align-self: stretch; width: 1px; margin: 2px 4px; }
.image-viewer { background: var(--color-surface-secondary); flex-direction: column; flex: 1 1 0%; min-height: 0px; display: flex; position: relative; overflow: hidden; }
.image-viewer-stage { flex: 1 1 0%; min-height: 0px; padding: 24px; display: flex; overflow: auto; }
.image-viewer-img { border-radius: var(--glyph-radius-sm); max-width: none; box-shadow: var(--glyph-shadow); -webkit-user-select: none; margin: auto; transition: opacity 0.1s ease-out; display: block; }
.image-viewer-toolbar { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--glyph-radius); box-shadow: var(--glyph-shadow); align-items: center; gap: 4px; padding: 6px 10px; display: flex; position: absolute; bottom: 16px; left: 50%; transform: translate(-50%); }
.image-viewer-btn { appearance: none; color: var(--color-text-secondary); cursor: pointer; border-radius: var(--glyph-radius-sm); background: 0px 0px; border: 0px; justify-content: center; align-items: center; padding: 6px; transition: background 0.1s ease-out, color 0.1s ease-out; display: inline-flex; }
.image-viewer-btn:hover { background: var(--color-surface-tertiary); color: var(--color-text-primary); }
.image-viewer-zoom-level { text-align: center; font-variant-numeric: tabular-nums; min-width: 48px; color: var(--color-text-secondary); -webkit-user-select: none; font-size: 12px; }
.image-viewer-divider { background: var(--color-border); align-self: stretch; width: 1px; margin: 2px 4px; }
@media print {
  @page { margin: 2cm; }
  html, body, #root { background: rgb(255, 255, 255) !important; height: auto !important; overflow: visible !important; }
  [data-print-hide="true"], .settings-overlay, .command-palette-overlay, .search-bar, .ai-chat-panel { display: none !important; }
  .markdown-body { width: 100% !important; max-width: none !important; height: auto !important; padding: 0px !important; overflow: visible !important; }
  .markdown-body > :last-child { margin-bottom: 0px !important; }
  [class*="overflow-y-auto"], [class*="overflow-hidden"] { height: auto !important; max-height: none !important; overflow: visible !important; }
  .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { break-after: avoid; }
  .markdown-body pre, .markdown-body table, .markdown-body figure, .markdown-body img, .markdown-body blockquote { break-inside: avoid; }
  [data-print-breaks="h1"] .markdown-body h1, [data-print-breaks="h2"] .markdown-body h1, [data-print-breaks="h2"] .markdown-body h2 { break-before: page; }
  [data-print-breaks] .markdown-body > :first-child, [data-print-breaks] .print-toc + * { break-before: auto !important; }
  [data-print-bg="true"] .markdown-body, [data-print-bg="true"] .markdown-body * { print-color-adjust: exact; }
  [data-print-bg="false"] .markdown-body, [data-print-bg="false"] .markdown-body * { color: rgb(0, 0, 0) !important; background: 0px 0px !important; }
  [data-print-bg="false"] .markdown-body a { text-decoration: underline; color: rgb(0, 0, 0) !important; }
  [data-print-bg="false"] .markdown-body pre, [data-print-bg="false"] .markdown-body code { print-color-adjust: exact; color: rgb(0, 0, 0) !important; background: rgb(245, 245, 245) !important; }
  .markdown-body a[href^="http"]::after, .markdown-body a[href^="https"]::after { content: " (" attr(href) ")"; word-break: break-all; color: inherit; font-size: 0.85em; }
  .markdown-body a[href^="#"]::after { content: none; }
  .print-toc { break-after: page; margin-bottom: 1.5rem; }
  .print-toc h2 { margin-top: 0px; margin-bottom: 0.75rem; font-size: 1.4rem; }
  .print-toc ul { margin: 0px; padding-inline-start: 0px; list-style: none; }
  .print-toc li { break-inside: avoid; padding: 0.15rem 0px; }
  .print-toc a { color: inherit; text-decoration: none; }
}
.print-toc { display: none; }
@media print {
  .print-toc { display: block; }
}
.ai-chat-panel { background: var(--color-surface); border-inline-start: 1px solid var(--color-border); flex-direction: column; flex-shrink: 0; max-width: 45vw; min-height: 0px; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif; font-size: 13px; line-height: 1.5; display: none; position: relative; }
.ai-chat-panel[data-open="true"] { display: flex; }
.ai-chat-header { border-bottom: 1px solid var(--color-border); flex-shrink: 0; justify-content: space-between; align-items: center; padding: 10px 12px; display: flex; }
.ai-chat-header h3 { margin: 0px; font-size: 13px; font-weight: 600; }
.ai-chat-header-actions { gap: 4px; display: flex; }
.ai-chat-header-btn { appearance: none; border-radius: var(--glyph-radius-sm); color: var(--color-text-secondary); cursor: pointer; background: 0px 0px; border: medium; align-items: center; padding: 4px; display: flex; }
.ai-chat-header-btn:hover { background: var(--color-surface-secondary); color: var(--color-text-primary); }
.ai-chat-body { flex-direction: column; flex: 1 1 0%; gap: 10px; min-height: 0px; padding: 12px; display: flex; overflow-y: auto; }
.ai-chat-empty { color: var(--color-text-tertiary); text-align: center; padding: 32px 8px; font-size: 12px; }
.ai-msg-user { background: var(--color-accent); color: rgb(255, 255, 255); white-space: pre-wrap; overflow-wrap: anywhere; border-radius: 12px; unicode-bidi: plaintext; border-end-end-radius: 4px; align-self: flex-end; max-width: 85%; padding: 6px 10px; }
[dir="rtl"] .ai-msg-user { align-self: flex-start; }
.ai-msg-assistant { align-self: stretch; }
.ai-msg-assistant .ai-msg-markdown { max-width: 100%; padding: 0px; font-size: 13px; }
.ai-msg-actions { opacity: 0; gap: 8px; margin-top: 2px; transition: opacity 0.15s; display: flex; }
.ai-msg-assistant:hover .ai-msg-actions, .ai-msg-actions:focus-within { opacity: 1; }
.ai-msg-action { appearance: none; color: var(--color-text-tertiary); cursor: pointer; background: 0px 0px; border: medium; padding: 2px 0px; font-family: inherit; font-size: 11px; }
.ai-msg-action:hover { color: var(--color-text-primary); }
.ai-typing { gap: 4px; padding: 6px 0px; display: flex; }
.ai-typing span { background: var(--color-text-tertiary); border-radius: 50%; width: 6px; height: 6px; animation: 1.2s ease-in-out infinite ai-typing-bounce; }
.ai-typing span:nth-child(2) { animation-delay: 0.15s; }
.ai-typing span:nth-child(3) { animation-delay: 0.3s; }
@keyframes ai-typing-bounce { 
  0%,60%,100% { opacity: 0.35; transform: translateY(0px); }
  30% { opacity: 1; transform: translateY(-3px); }
}
.ai-quote .ai-quote-locate { appearance: none; color: var(--color-accent); cursor: pointer; background: 0px 0px; border: medium; padding: 2px 0px 0px; font-family: inherit; font-size: 11px; display: block; }
.ai-quote .ai-quote-locate:hover { text-decoration: underline; }
.ai-chips { flex-wrap: wrap; flex-shrink: 0; gap: 6px; padding: 8px 12px 0px; display: flex; }
.ai-chip { appearance: none; background: var(--color-surface-secondary); border: 1px solid var(--color-border); color: var(--color-text-primary); cursor: pointer; border-radius: 999px; padding: 3px 10px; font-family: inherit; font-size: 11px; }
.ai-chip:hover:not(:disabled) { background: var(--color-surface-tertiary); }
.ai-chip:disabled { opacity: 0.5; cursor: default; }
.ai-composer { flex-shrink: 0; align-items: flex-end; gap: 6px; padding: 10px 12px; display: flex; }
.ai-composer-input { resize: none; background: var(--color-surface-secondary); border: 1px solid var(--color-border); color: var(--color-text-primary); border-radius: 10px; flex: 1 1 0%; max-height: 120px; padding: 6px 10px; font-family: inherit; font-size: 13px; line-height: 1.4; overflow-y: hidden; }
.ai-composer-input:focus { border-color: var(--color-accent); outline: medium; }
.ai-composer-btn { appearance: none; background: var(--color-accent); color: rgb(255, 255, 255); cursor: pointer; border: medium; border-radius: 50%; flex-shrink: 0; justify-content: center; align-items: center; width: 28px; height: 28px; display: flex; }
.ai-composer-btn:disabled { opacity: 0.4; cursor: default; }
.ai-error { color: rgb(229, 62, 62); border-radius: var(--glyph-radius-sm); background: rgba(229, 62, 62, 0.08); padding: 10px; font-size: 12px; }
.ai-flash { border-radius: 4px; animation: 2.5s ai-flash-pulse; }
@keyframes ai-flash-pulse { 
  0%,60% { background-color: color-mix(in srgb,var(--color-accent) 20%,transparent); box-shadow: 0 0 0 4px color-mix(in srgb,var(--color-accent) 20%,transparent); }
  100% { box-shadow: none; background-color: rgba(0, 0, 0, 0); }
}
:root { --color-surface: #fff; --color-surface-secondary: #f5f5f7; --color-surface-tertiary: #e8e8ed; --glyph-canvas-group-bg: #f5f5f799; --glyph-canvas-selection: #007aff73; --color-text-primary: #1d1d1f; --color-text-secondary: #6e6e73; --color-text-tertiary: #aeaeb2; --color-border: #d2d2d7; --color-accent: #007aff; --color-accent-hover: #0066d6; --color-banner-bg: #e3eeff; --color-alert-note: #0969da; --color-alert-tip: #1a7f37; --color-alert-important: #8250df; --color-alert-warning: #9a6700; --color-alert-caution: #cf222e; }
.dark { --color-surface: #1c1c1e; --color-surface-secondary: #2c2c2e; --color-surface-tertiary: #3a3a3c; --glyph-canvas-group-bg: #2c2c2e99; --glyph-canvas-selection: #0a84ff73; --color-text-primary: #f5f5f7; --color-text-secondary: #98989d; --color-text-tertiary: #636366; --color-border: #38383a; --color-accent: #0a84ff; --color-accent-hover: #409cff; --color-banner-bg: #12314f; --color-alert-note: #58a6ff; --color-alert-tip: #3fb950; --color-alert-important: #bf8cff; --color-alert-warning: #d29922; --color-alert-caution: #f85149; }
html, body, #root { height: 100%; margin: 0px; padding: 0px; overflow: hidden; }
body { font-family: var(--glyph-font,system-ui, -apple-system, sans-serif); background: var(--color-surface); color: var(--color-text-primary); -webkit-font-smoothing: antialiased; }
::selection { background: var(--color-accent); }
@supports (color:color-mix(in lab,red,red)) {
  ::selection { background: color-mix(in srgb,var(--color-accent) 30%,transparent); }
}
* { scrollbar-width: thin; scrollbar-color: var(--color-text-tertiary) transparent; }
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-font-weight { syntax: "*"; inherits: false; }
@property --tw-tracking { syntax: "*"; inherits: false; }
@property --tw-ordinal { syntax: "*"; inherits: false; }
@property --tw-slashed-zero { syntax: "*"; inherits: false; }
@property --tw-numeric-figure { syntax: "*"; inherits: false; }
@property --tw-numeric-spacing { syntax: "*"; inherits: false; }
@property --tw-numeric-fraction { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-blur { syntax: "*"; inherits: false; }
@property --tw-brightness { syntax: "*"; inherits: false; }
@property --tw-contrast { syntax: "*"; inherits: false; }
@property --tw-grayscale { syntax: "*"; inherits: false; }
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-invert { syntax: "*"; inherits: false; }
@property --tw-opacity { syntax: "*"; inherits: false; }
@property --tw-saturate { syntax: "*"; inherits: false; }
@property --tw-sepia { syntax: "*"; inherits: false; }
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
@keyframes spin { 
  100% { transform: rotate(360deg); }
}
.hljs { color: var(--color-text-primary); }
.hljs-comment, .hljs-quote { color: var(--color-text-tertiary); font-style: italic; }
.hljs-keyword, .hljs-selector-tag, .hljs-addition { color: rgb(173, 61, 164); }
.hljs-string, .hljs-attribute, .hljs-meta .hljs-string, .hljs-regexp { color: rgb(209, 47, 27); }
.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { color: rgb(39, 42, 216); }
.hljs-title, .hljs-section, .hljs-selector-id { color: rgb(11, 79, 121); font-weight: 600; }
.hljs-type, .hljs-built_in, .hljs-builtin-name { color: rgb(57, 0, 160); }
.hljs-symbol, .hljs-bullet, .hljs-link { color: rgb(28, 0, 207); }
.hljs-deletion { color: rgb(196, 26, 22); background: rgba(255, 0, 0, 0.05); }
.hljs-addition { color: rgb(0, 116, 0); background: rgba(0, 128, 0, 0.05); }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: 700; }
.dark .hljs-keyword, .dark .hljs-selector-tag { color: rgb(255, 122, 178); }
.dark .hljs-string, .dark .hljs-attribute, .dark .hljs-meta .hljs-string, .dark .hljs-regexp { color: rgb(255, 129, 112); }
.dark .hljs-number, .dark .hljs-literal, .dark .hljs-variable, .dark .hljs-template-variable, .dark .hljs-tag .hljs-attr { color: rgb(217, 201, 124); }
.dark .hljs-title, .dark .hljs-section, .dark .hljs-selector-id { color: rgb(107, 223, 255); }
.dark .hljs-type, .dark .hljs-built_in, .dark .hljs-builtin-name { color: rgb(178, 129, 235); }
.dark .hljs-comment, .dark .hljs-quote { color: rgb(127, 140, 152); }
.dark .hljs-symbol, .dark .hljs-bullet, .dark .hljs-link { color: rgb(172, 242, 228); }
@font-face { font-display: block; font-family: KaTeX_AMS; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2") format("woff2"), url("/assets/KaTeX_AMS-Regular-DMm9YOAa.woff") format("woff"), url("/assets/KaTeX_AMS-Regular-DRggAlZN.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Caligraphic; font-style: normal; font-weight: 700; src: url("/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2") format("woff2"), url("/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff") format("woff"), url("/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Caligraphic; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2") format("woff2"), url("/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff") format("woff"), url("/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Fraktur; font-style: normal; font-weight: 700; src: url("/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2") format("woff2"), url("/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff") format("woff"), url("/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Fraktur; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2") format("woff2"), url("/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff") format("woff"), url("/assets/KaTeX_Fraktur-Regular-CB_wures.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Main; font-style: normal; font-weight: 700; src: url("/assets/KaTeX_Main-Bold-Cx986IdX.woff2") format("woff2"), url("/assets/KaTeX_Main-Bold-Jm3AIy58.woff") format("woff"), url("/assets/KaTeX_Main-Bold-waoOVXN0.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Main; font-style: italic; font-weight: 700; src: url("/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2") format("woff2"), url("/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff") format("woff"), url("/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Main; font-style: italic; font-weight: 400; src: url("/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2") format("woff2"), url("/assets/KaTeX_Main-Italic-BMLOBm91.woff") format("woff"), url("/assets/KaTeX_Main-Italic-3WenGoN9.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Main; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Main-Regular-B22Nviop.woff2") format("woff2"), url("/assets/KaTeX_Main-Regular-Dr94JaBh.woff") format("woff"), url("/assets/KaTeX_Main-Regular-ypZvNtVU.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Math; font-style: italic; font-weight: 700; src: url("/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2") format("woff2"), url("/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff") format("woff"), url("/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Math; font-style: italic; font-weight: 400; src: url("/assets/KaTeX_Math-Italic-t53AETM-.woff2") format("woff2"), url("/assets/KaTeX_Math-Italic-DA0__PXp.woff") format("woff"), url("/assets/KaTeX_Math-Italic-flOr_0UB.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_SansSerif; font-style: normal; font-weight: 700; src: url("/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2") format("woff2"), url("/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff") format("woff"), url("/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_SansSerif; font-style: italic; font-weight: 400; src: url("/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2") format("woff2"), url("/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff") format("woff"), url("/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_SansSerif; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2") format("woff2"), url("/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff") format("woff"), url("/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Script; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Script-Regular-D3wIWfF6.woff2") format("woff2"), url("/assets/KaTeX_Script-Regular-D5yQViql.woff") format("woff"), url("/assets/KaTeX_Script-Regular-C5JkGWo-.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Size1; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2") format("woff2"), url("/assets/KaTeX_Size1-Regular-C195tn64.woff") format("woff"), url("/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Size2; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2") format("woff2"), url("/assets/KaTeX_Size2-Regular-oD1tc_U0.woff") format("woff"), url("/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Size3; font-style: normal; font-weight: 400; src: url("data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC") format("woff2"), url("/assets/KaTeX_Size3-Regular-CTq5MqoE.woff") format("woff"), url("/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Size4; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2") format("woff2"), url("/assets/KaTeX_Size4-Regular-BF-4gkZK.woff") format("woff"), url("/assets/KaTeX_Size4-Regular-DWFBv043.ttf") format("truetype"); }
@font-face { font-display: block; font-family: KaTeX_Typewriter; font-style: normal; font-weight: 400; src: url("/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2") format("woff2"), url("/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff") format("woff"), url("/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf") format("truetype"); }
.katex { font-style: normal; font-variant-caps: normal; font-weight: normal; font-width: normal; font-size: 1.21em; font-family: KaTeX_Main, "Times New Roman", serif; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; line-height: 1.2; position: relative; text-indent: 0px; text-rendering: auto; }
.katex * { border-color: currentcolor; }
.katex .katex-version::after { content: "0.17.0"; }
.katex .katex-mathml { border: 0px; clip-path: inset(50%); height: 1px; overflow: hidden; padding: 0px; position: absolute; width: 1px; }
.katex .katex-html > .newline { display: block; }
.katex .base { position: relative; white-space: nowrap; width: min-content; }
.katex .base, .katex .strut { display: inline-block; }
.katex .textbf { font-weight: 700; }
.katex .textit { font-style: italic; }
.katex .textrm { font-family: KaTeX_Main; }
.katex .textsf { font-family: KaTeX_SansSerif; }
.katex .texttt { font-family: KaTeX_Typewriter; }
.katex .mathnormal { font-family: KaTeX_Math; font-style: italic; }
.katex .mathit { font-family: KaTeX_Main; font-style: italic; }
.katex .mathrm { font-style: normal; }
.katex .mathbf { font-family: KaTeX_Main; font-weight: 700; }
.katex .boldsymbol { font-family: KaTeX_Math; font-style: italic; font-weight: 700; }
.katex .amsrm, .katex .mathbb, .katex .textbb { font-family: KaTeX_AMS; }
.katex .mathcal { font-family: KaTeX_Caligraphic; }
.katex .mathfrak, .katex .textfrak { font-family: KaTeX_Fraktur; }
.katex .mathboldfrak, .katex .textboldfrak { font-family: KaTeX_Fraktur; font-weight: 700; }
.katex .mathtt { font-family: KaTeX_Typewriter; }
.katex .mathscr, .katex .textscr { font-family: KaTeX_Script; }
.katex .mathsf, .katex .textsf { font-family: KaTeX_SansSerif; }
.katex .mathboldsf, .katex .textboldsf { font-family: KaTeX_SansSerif; font-weight: 700; }
.katex .mathitsf, .katex .mathsfit, .katex .textitsf { font-family: KaTeX_SansSerif; font-style: italic; }
.katex .mainrm { font-family: KaTeX_Main; font-style: normal; }
.katex .vlist-t { border-collapse: collapse; display: inline-table; table-layout: fixed; }
.katex .vlist-r { display: table-row; }
.katex .vlist { display: table-cell; position: relative; vertical-align: bottom; }
.katex .vlist > span { display: block; height: 0px; position: relative; }
.katex .vlist > span > span { display: inline-block; }
.katex .vlist > span > .pstrut { overflow: hidden; width: 0px; }
.katex .vlist-t2 { margin-right: -2px; }
.katex .vlist-s { display: table-cell; font-size: 1px; min-width: 2px; vertical-align: bottom; width: 2px; }
.katex .vbox { align-items: baseline; display: inline-flex; flex-direction: column; }
.katex .hbox { width: 100%; }
.katex .hbox, .katex .thinbox { display: inline-flex; flex-direction: row; }
.katex .thinbox { max-width: 0px; width: 0px; }
.katex .msupsub { text-align: left; }
.katex .mfrac > span > span { text-align: center; }
.katex .mfrac .frac-line { border-bottom-style: solid; display: inline-block; width: 100%; }
.katex .hdashline, .katex .hline, .katex .mfrac .frac-line, .katex .overline .overline-line, .katex .rule, .katex .underline .underline-line { min-height: 1px; }
.katex .mspace { display: inline-block; }
.katex .smash { display: inline; line-height: 0; }
.katex .clap, .katex .llap, .katex .rlap { position: relative; width: 0px; }
.katex .clap > .inner, .katex .llap > .inner, .katex .rlap > .inner { position: absolute; }
.katex .clap > .fix, .katex .llap > .fix, .katex .rlap > .fix { display: inline-block; }
.katex .llap > .inner { right: 0px; }
.katex .clap > .inner, .katex .rlap > .inner { left: 0px; }
.katex .clap > .inner > span { margin-left: -50%; margin-right: 50%; }
.katex .rule { border: 0px solid; display: inline-block; position: relative; }
.katex .hline, .katex .overline .overline-line, .katex .underline .underline-line { border-bottom-style: solid; display: inline-block; width: 100%; }
.katex .hdashline { border-bottom-style: dashed; display: inline-block; width: 100%; }
.katex .sqrt > .root { margin-left: 0.277778em; margin-right: -0.555556em; }
.katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size1 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size2 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size3 { font-size: 1.4em; }
.katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size4 { font-size: 1.6em; }
.katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size5 { font-size: 1.8em; }
.katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size6 { font-size: 2em; }
.katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size7 { font-size: 2.4em; }
.katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size8 { font-size: 2.88em; }
.katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size9 { font-size: 3.456em; }
.katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.size10 { font-size: 4.148em; }
.katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.size11 { font-size: 4.976em; }
.katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size1 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size2 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size3 { font-size: 1.166667em; }
.katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size4 { font-size: 1.333333em; }
.katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size5 { font-size: 1.5em; }
.katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size6 { font-size: 1.666667em; }
.katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size7 { font-size: 2em; }
.katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size8 { font-size: 2.4em; }
.katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size9 { font-size: 2.88em; }
.katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.size10 { font-size: 3.456667em; }
.katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.size11 { font-size: 4.146667em; }
.katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size1 { font-size: 0.714286em; }
.katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size2 { font-size: 0.857143em; }
.katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size3 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size4 { font-size: 1.142857em; }
.katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size5 { font-size: 1.285714em; }
.katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size6 { font-size: 1.428571em; }
.katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size7 { font-size: 1.714286em; }
.katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size8 { font-size: 2.057143em; }
.katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size9 { font-size: 2.468571em; }
.katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.size10 { font-size: 2.962857em; }
.katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.size11 { font-size: 3.554286em; }
.katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size1 { font-size: 0.625em; }
.katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size2 { font-size: 0.75em; }
.katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size3 { font-size: 0.875em; }
.katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size4 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size5 { font-size: 1.125em; }
.katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size6 { font-size: 1.25em; }
.katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size7 { font-size: 1.5em; }
.katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size8 { font-size: 1.8em; }
.katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size9 { font-size: 2.16em; }
.katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.size10 { font-size: 2.5925em; }
.katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.size11 { font-size: 3.11em; }
.katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size1 { font-size: 0.555556em; }
.katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size2 { font-size: 0.666667em; }
.katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size3 { font-size: 0.777778em; }
.katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size4 { font-size: 0.888889em; }
.katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size5 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size6 { font-size: 1.111111em; }
.katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size7 { font-size: 1.333333em; }
.katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size8 { font-size: 1.6em; }
.katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size9 { font-size: 1.92em; }
.katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.size10 { font-size: 2.304444em; }
.katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.size11 { font-size: 2.764444em; }
.katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size1 { font-size: 0.5em; }
.katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size2 { font-size: 0.6em; }
.katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size3 { font-size: 0.7em; }
.katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size4 { font-size: 0.8em; }
.katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size5 { font-size: 0.9em; }
.katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size6 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size7 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size8 { font-size: 1.44em; }
.katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size9 { font-size: 1.728em; }
.katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.size10 { font-size: 2.074em; }
.katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.size11 { font-size: 2.488em; }
.katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size1 { font-size: 0.416667em; }
.katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size2 { font-size: 0.5em; }
.katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size3 { font-size: 0.583333em; }
.katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size4 { font-size: 0.666667em; }
.katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size5 { font-size: 0.75em; }
.katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size6 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size7 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size8 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size9 { font-size: 1.44em; }
.katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.size10 { font-size: 1.728333em; }
.katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.size11 { font-size: 2.073333em; }
.katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size1 { font-size: 0.347222em; }
.katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size2 { font-size: 0.416667em; }
.katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size3 { font-size: 0.486111em; }
.katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size4 { font-size: 0.555556em; }
.katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size5 { font-size: 0.625em; }
.katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size6 { font-size: 0.694444em; }
.katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size7 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size8 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size9 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.size10 { font-size: 1.440278em; }
.katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.size11 { font-size: 1.727778em; }
.katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size1 { font-size: 0.289352em; }
.katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size2 { font-size: 0.347222em; }
.katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size3 { font-size: 0.405093em; }
.katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size4 { font-size: 0.462963em; }
.katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size5 { font-size: 0.520833em; }
.katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size6 { font-size: 0.578704em; }
.katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size7 { font-size: 0.694444em; }
.katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size8 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size9 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.size10 { font-size: 1.200231em; }
.katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.size11 { font-size: 1.439815em; }
.katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.size1 { font-size: 0.24108em; }
.katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.size2 { font-size: 0.289296em; }
.katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.size3 { font-size: 0.337512em; }
.katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.size4 { font-size: 0.385728em; }
.katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.size5 { font-size: 0.433944em; }
.katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.size6 { font-size: 0.48216em; }
.katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.size7 { font-size: 0.578592em; }
.katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.size8 { font-size: 0.694311em; }
.katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.size9 { font-size: 0.833173em; }
.katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.size10 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.size11 { font-size: 1.199614em; }
.katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.size1 { font-size: 0.200965em; }
.katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.size2 { font-size: 0.241158em; }
.katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.size3 { font-size: 0.28135em; }
.katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.size4 { font-size: 0.321543em; }
.katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.size5 { font-size: 0.361736em; }
.katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.size6 { font-size: 0.401929em; }
.katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.size7 { font-size: 0.482315em; }
.katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.size8 { font-size: 0.578778em; }
.katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.size9 { font-size: 0.694534em; }
.katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.size10 { font-size: 0.833601em; }
.katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.size11 { font-size: 1em; }
.katex .delimsizing.size1 { font-family: KaTeX_Size1; }
.katex .delimsizing.size2 { font-family: KaTeX_Size2; }
.katex .delimsizing.size3 { font-family: KaTeX_Size3; }
.katex .delimsizing.size4 { font-family: KaTeX_Size4; }
.katex .delimsizing.mult .delim-size1 > span { font-family: KaTeX_Size1; }
.katex .delimsizing.mult .delim-size4 > span { font-family: KaTeX_Size4; }
.katex .nulldelimiter { display: inline-block; width: 0.12em; }
.katex .delimcenter, .katex .op-symbol { position: relative; }
.katex .op-symbol.small-op { font-family: KaTeX_Size1; }
.katex .op-symbol.large-op { font-family: KaTeX_Size2; }
.katex .accent > .vlist-t, .katex .op-limits > .vlist-t { text-align: center; }
.katex .accent .accent-body { position: relative; }
.katex .accent .accent-body:not(.accent-full) { width: 0px; }
.katex .overlay { display: block; }
.katex .mtable .vertical-separator { display: inline-block; min-width: 1px; }
.katex .mtable .arraycolsep { display: inline-block; }
.katex .mtable .col-align-c > .vlist-t { text-align: center; }
.katex .mtable .col-align-l > .vlist-t { text-align: left; }
.katex .mtable .col-align-r > .vlist-t { text-align: right; }
.katex .svg-align { text-align: left; }
.katex svg { fill: currentcolor; stroke: currentcolor; display: block; height: inherit; position: absolute; width: 100%; }
.katex svg path { stroke: none; }
.katex svg { fill-rule: nonzero; fill-opacity: 1; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0px; stroke-opacity: 1; }
.katex img { border-style: none; max-height: none; max-width: none; min-height: 0px; min-width: 0px; }
.katex .stretchy { display: block; overflow: hidden; position: relative; width: 100%; }
.katex .stretchy::after, .katex .stretchy::before { content: ""; }
.katex .hide-tail { overflow: hidden; position: relative; width: 100%; }
.katex .halfarrow-left { left: 0px; overflow: hidden; position: absolute; width: 50.2%; }
.katex .halfarrow-right { overflow: hidden; position: absolute; right: 0px; width: 50.2%; }
.katex .brace-left { left: 0px; overflow: hidden; position: absolute; width: 25.1%; }
.katex .brace-center { left: 25%; overflow: hidden; position: absolute; width: 50%; }
.katex .brace-right { overflow: hidden; position: absolute; right: 0px; width: 25.1%; }
.katex .x-arrow-pad { padding: 0px 0.5em; }
.katex .cd-arrow-pad { padding: 0px 0.55556em 0px 0.27778em; }
.katex .mover, .katex .munder, .katex .x-arrow { text-align: center; }
.katex .boxpad { padding: 0px 0.3em; }
.katex .fbox, .katex .fcolorbox { border: 0.04em solid; box-sizing: border-box; }
.katex .cancel-pad { padding: 0px 0.2em; }
.katex .cancel-lap { margin-left: -0.2em; margin-right: -0.2em; }
.katex .sout { border-bottom-style: solid; border-bottom-width: 0.08em; }
.katex .angl { border-right: 0.049em solid; border-top: 0.049em solid; box-sizing: border-box; margin-right: 0.03889em; }
.katex .anglpad { padding: 0px 0.03889em; }
.katex .eqn-num::before { content: "(" counter(katexEqnNo) ")"; counter-increment: katexEqnNo 1; }
.katex .mml-eqn-num::before { content: "(" counter(mmlEqnNo) ")"; counter-increment: mmlEqnNo 1; }
.katex .mtr-glue { width: 50%; }
.katex .cd-vert-arrow { display: inline-block; position: relative; }
.katex .cd-label-left { display: inline-block; position: absolute; right: calc(50% + 0.3em); text-align: left; }
.katex .cd-label-right { display: inline-block; left: calc(50% + 0.3em); position: absolute; text-align: right; }
.katex-display { display: block; margin: 1em 0px; text-align: center; }
.katex-display > .katex { display: block; text-align: center; white-space: nowrap; }
.katex-display > .katex > .katex-html { display: block; position: relative; }
.katex-display > .katex > .katex-html > .tag { position: absolute; right: 0px; }
.katex-display.leqno > .katex > .katex-html > .tag { left: 0px; right: auto; }
.katex-display.fleqn > .katex { padding-left: 2em; text-align: left; }
body { counter-reset: katexEqnNo 0 mmlEqnNo 0; }

/* Native controls (checkboxes, scrollbars) follow the toggled class, not just
   the OS preference — without this the dark toggle leaves them light. */
:root { color-scheme: light; }
:root.dark { color-scheme: dark; }
html, body { height: auto; min-height: 100%; overflow: visible; }
body { margin: 0; padding: 2rem 1.25rem; }
.markdown-body, .notebook-body { max-width: 820px; height: auto; margin: 0 auto; overflow: visible; }
#glyph-theme-toggle { position: fixed; top: 1rem; right: 1rem; z-index: 1000; width: 2.4rem; height: 2.4rem; display: flex; align-items: center; justify-content: center; border-radius: 9999px; border: 1px solid var(--color-border, #d0d0d0); background: var(--color-surface, #fff); color: var(--color-text-primary, #1d1d1f); font-size: 1.1rem; line-height: 1; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,0.15); }
@media print {
  #glyph-theme-toggle { display: none; }
  /* On screen code blocks scroll; when printed they wrap so nothing is clipped. */
  .markdown-body pre, .notebook-body pre, .markdown-body pre code, .notebook-body pre code { white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: visible; }
}
.glyph-site { display: flex; gap: 2rem; max-width: 1320px; margin: 0 auto; align-items: flex-start; }
.glyph-site-nav { position: sticky; top: 1rem; flex: 0 0 220px; max-height: calc(100vh - 2rem); overflow-y: auto; font-size: 0.875rem; }
.glyph-site-nav ul { list-style: none; margin: 0; padding-left: 0.75rem; }
.glyph-site-nav > ul { padding-left: 0; }
.glyph-site-nav li { margin: 0.15rem 0; }
.glyph-site-nav summary { cursor: pointer; font-weight: 600; color: var(--color-text-primary, inherit); }
.glyph-site-nav a { text-decoration: none; color: var(--color-text-secondary, #57606a); }
.glyph-site-nav a:hover { color: var(--color-accent, #0969da); }
.glyph-site-nav a[aria-current="page"] { color: var(--color-accent, #0969da); font-weight: 600; }
.glyph-site-main { flex: 1 1 auto; min-width: 0; }
.glyph-site-main .markdown-body { margin: 0; }
.glyph-site-outline { position: sticky; top: 1rem; flex: 0 0 200px; max-height: calc(100vh - 2rem); overflow-y: auto; font-size: 0.8125rem; }
.glyph-site-outline ul { list-style: none; margin: 0; padding: 0; }
.glyph-site-outline li { margin: 0.2rem 0; }
.glyph-site-outline a { text-decoration: none; color: var(--color-text-secondary, #57606a); }
.glyph-site-outline a:hover { color: var(--color-accent, #0969da); }
.glyph-outline-l2 { padding-left: 0.75rem; }
.glyph-outline-l3 { padding-left: 1.5rem; }
.glyph-outline-l4, .glyph-outline-l5, .glyph-outline-l6 { padding-left: 2.25rem; }
@media (max-width: 1024px) { .glyph-site-outline { display: none; } }
@media (max-width: 768px) {
  .glyph-site { flex-direction: column; }
  .glyph-site-nav { position: static; flex: none; width: 100%; }
}
@media print { .glyph-site-nav, .glyph-site-outline { display: none; } }