@charset "UTF-8";
@font-face {
  font-family: "Hasklig";
  src: url("./assets/Hasklig-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Hasklig";
  src: url("./assets/Hasklig-BoldIt.woff2") format("woff2");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Hasklig";
  src: url("./assets/Hasklig-It.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Hasklig";
  src: url("./assets/Hasklig-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
:root {
  color: var(--fg);
  --font-text: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --font-code: Hasklig, Consolas, Monaco, monospace;
  --font-size: 14px;
  --input-height: 2em;
  --spacing: 1.2rem;
  --spacing-half: calc(var(--spacing) / 2);
  --spacing-third: calc(var(--spacing) / 3);
  --spacing-quarter: calc(var(--spacing) / 4);
  --spacing-three-quarters: calc(var(--spacing) * 0.75);
  --border-radius: 3px;
  --scrollbar-size: 6px;
  --background: var(--bg);
}
:root[data-uimode=compact] {
  --input-height: 1.8em;
  --spacing: 1rem;
}

[data-theme=light],
[data-theme=dark] .-inverted-color-scheme {
  --brand: #a767fa;
  --fg: var(--grey-100);
  --variant-fg: var(--grey-1000);
  --bg: var(--grey-850);
  --bg-darker: var(--grey-800);
  --bg-lighter: var(--grey-900);
  --curtain: #0008;
  --highlight: #fff4;
  --shadow: #0003;
  --top-o100: #0001;
  --lighten-900: #fff;
  --lighten-700: #fffb;
  --lighten-500: #fff8;
  --lighten-300: #fff6;
  --lighten-100: #fff4;
  --lighten: var(--lighten-500);
  --darken-900: #0003;
  --darken-700: #0002;
  --darken-500: #0001;
  --darken-300: #00000009;
  --darken-100: #00000008;
  --darken: var(--darken-500);
  --muted-900: rgba(0, 0, 0, .9);
  --muted-700: rgba(0, 0, 0, .7);
  --muted-500: rgba(0, 0, 0, .5);
  --muted-400: rgba(0, 0, 0, .4);
  --muted-300: rgba(0, 0, 0, .3);
  --muted-200: rgba(0, 0, 0, .2);
  --muted-100: rgba(0, 0, 0, .1);
  --muted-50:: rgba(0, 0, 0, .5);
  --muted: var(--muted-500);
  --grey: var(--grey-500);
  --grey-0: #000;
  --grey-z0: var(--grey-1000);
  --grey-50: #111;
  --grey-z50: var(--grey-950);
  --grey-100: #1b1b1b;
  --grey-z100: var(--grey-900);
  --grey-150: #262626;
  --grey-z150: var(--grey-850);
  --grey-200: #303030;
  --grey-z200: var(--grey-800);
  --grey-250: #3b3b3b;
  --grey-z250: var(--grey-750);
  --grey-300: #474747;
  --grey-z300: var(--grey-700);
  --grey-350: #525252;
  --grey-z350: var(--grey-650);
  --grey-400: #5e5e5e;
  --grey-z400: var(--grey-600);
  --grey-450: #6a6a6a;
  --grey-z450: var(--grey-550);
  --grey-500: #777;
  --grey-z500: var(--grey-500);
  --grey-550: #848484;
  --grey-z550: var(--grey-450);
  --grey-600: #919191;
  --grey-z600: var(--grey-400);
  --grey-650: #9e9e9e;
  --grey-z650: var(--grey-350);
  --grey-700: #ababab;
  --grey-z700: var(--grey-300);
  --grey-750: #b9b9b9;
  --grey-z750: var(--grey-250);
  --grey-800: #c6c6c6;
  --grey-z800: var(--grey-200);
  --grey-850: #d4d4d4;
  --grey-z850: var(--grey-150);
  --grey-900: #e2e2e2;
  --grey-z900: var(--grey-100);
  --grey-950: #f1f1f1;
  --grey-z950: var(--grey-50);
  --grey-1000: #fff;
  --grey-z1000: var(--grey-0);
  --grey-o100: #7777771a;
  --grey-o200: #7773;
  --grey-o300: #7777774d;
  --grey-o400: #7776;
  --grey-o500: #77777780;
  --accent: var(--accent-500);
  --accent-100: #1c1b1e;
  --accent-z100: var(--accent-900);
  --accent-150: #27252b;
  --accent-z150: var(--accent-850);
  --accent-200: #322f3a;
  --accent-z200: var(--accent-800);
  --accent-250: #3f394b;
  --accent-z250: var(--accent-750);
  --accent-300: #4b435d;
  --accent-z300: var(--accent-700);
  --accent-350: #584d71;
  --accent-z350: var(--accent-650);
  --accent-400: #655786;
  --accent-z400: var(--accent-600);
  --accent-450: #73629c;
  --accent-z450: var(--accent-550);
  --accent-500: #816cb2;
  --accent-z500: var(--accent-500);
  --accent-550: #8d7bb7;
  --accent-z550: var(--accent-450);
  --accent-600: #9989bb;
  --accent-z600: var(--accent-400);
  --accent-650: #a598c0;
  --accent-z650: var(--accent-350);
  --accent-700: #b1a7c5;
  --accent-z700: var(--accent-300);
  --accent-750: #bdb5cb;
  --accent-z750: var(--accent-250);
  --accent-800: #c9c4d3;
  --accent-z800: var(--accent-200);
  --accent-850: #d6d3db;
  --accent-z850: var(--accent-150);
  --accent-900: #e3e2e6;
  --accent-z900: var(--accent-100);
  --accent-o100: #816cb21a;
  --accent-o200: #816cb233;
  --accent-o300: #816cb24d;
  --accent-o400: #816cb266;
  --accent-o500: #816cb280;
  --success: var(--success-500);
  --success-100: #1a1c19;
  --success-z100: var(--success-900);
  --success-150: #232721;
  --success-z150: var(--success-850);
  --success-200: #2c3228;
  --success-z200: var(--success-800);
  --success-250: #343e2d;
  --success-z250: var(--success-750);
  --success-300: #3b4b32;
  --success-z300: var(--success-700);
  --success-350: #425837;
  --success-z350: var(--success-650);
  --success-400: #49663a;
  --success-z400: var(--success-600);
  --success-450: #4f743d;
  --success-z450: var(--success-550);
  --success-500: #568240;
  --success-z500: var(--success-500);
  --success-550: #688e55;
  --success-z550: var(--success-450);
  --success-600: #7b996a;
  --success-z600: var(--success-400);
  --success-650: #8da57f;
  --success-z650: var(--success-350);
  --success-700: #9eb194;
  --success-z700: var(--success-300);
  --success-750: #b0bda8;
  --success-z750: var(--success-250);
  --success-800: #c0c9bb;
  --success-z800: var(--success-200);
  --success-850: #d1d6ce;
  --success-z850: var(--success-150);
  --success-900: #e1e3df;
  --success-z900: var(--success-100);
  --success-o100: #5682401a;
  --success-o200: #56824033;
  --success-o300: #5682404d;
  --success-o400: #56824066;
  --success-o500: #56824080;
  --info: var(--info-500);
  --info-100: #191c1e;
  --info-z100: var(--info-900);
  --info-150: #20272b;
  --info-z150: var(--info-850);
  --info-200: #26323a;
  --info-z200: var(--info-800);
  --info-250: #293e4a;
  --info-z250: var(--info-750);
  --info-300: #2a4b5d;
  --info-z300: var(--info-700);
  --info-350: #285870;
  --info-z350: var(--info-650);
  --info-400: #206685;
  --info-z400: var(--info-600);
  --info-450: #07749b;
  --info-z450: var(--info-550);
  --info-500: #0082b1;
  --info-z500: var(--info-500);
  --info-550: #368eb6;
  --info-z550: var(--info-450);
  --info-600: #5b99ba;
  --info-z600: var(--info-400);
  --info-650: #77a5bf;
  --info-z650: var(--info-350);
  --info-700: #8fb0c5;
  --info-z700: var(--info-300);
  --info-750: #a5bccb;
  --info-z750: var(--info-250);
  --info-800: #bac9d2;
  --info-z800: var(--info-200);
  --info-850: #cdd6db;
  --info-z850: var(--info-150);
  --info-900: #dfe3e6;
  --info-z900: var(--info-100);
  --info-o100: #0082b11a;
  --info-o200: #0082b133;
  --info-o300: #0082b14d;
  --info-o400: #0082b166;
  --info-o500: #0082b180;
  --warning: var(--warning-500);
  --warning-100: #1d1b19;
  --warning-z100: var(--warning-900);
  --warning-150: #292520;
  --warning-z150: var(--warning-850);
  --warning-200: #352f25;
  --warning-z200: var(--warning-800);
  --warning-250: #433a2a;
  --warning-z250: var(--warning-750);
  --warning-300: #51452d;
  --warning-z300: var(--warning-700);
  --warning-350: #605030;
  --warning-z350: var(--warning-650);
  --warning-400: #705b31;
  --warning-z400: var(--warning-600);
  --warning-450: #806632;
  --warning-z450: var(--warning-550);
  --warning-500: #907231;
  --warning-z500: var(--warning-500);
  --warning-550: #9b7f49;
  --warning-z550: var(--warning-450);
  --warning-600: #a58d60;
  --warning-z600: var(--warning-400);
  --warning-650: #af9b77;
  --warning-z650: var(--warning-350);
  --warning-700: #b9a98e;
  --warning-z700: var(--warning-300);
  --warning-750: #c3b7a3;
  --warning-z750: var(--warning-250);
  --warning-800: #cdc5b8;
  --warning-z800: var(--warning-200);
  --warning-850: #d8d4cc;
  --warning-z850: var(--warning-150);
  --warning-900: #e4e2df;
  --warning-z900: var(--warning-100);
  --warning-o100: #9072311a;
  --warning-o200: #90723133;
  --warning-o300: #9072314d;
  --warning-o400: #90723166;
  --warning-o500: #90723180;
  --danger: var(--danger-500);
  --danger-100: #1e1b1a;
  --danger-z100: var(--danger-900);
  --danger-150: #2c2423;
  --danger-z150: var(--danger-850);
  --danger-200: #3b2d2c;
  --danger-z200: var(--danger-800);
  --danger-250: #4c3534;
  --danger-z250: var(--danger-750);
  --danger-300: #5f3e3c;
  --danger-z300: var(--danger-700);
  --danger-350: #734644;
  --danger-z350: var(--danger-650);
  --danger-400: #874e4c;
  --danger-z400: var(--danger-600);
  --danger-450: #9d5554;
  --danger-z450: var(--danger-550);
  --danger-500: #b35c5b;
  --danger-z500: var(--danger-500);
  --danger-550: #b96e6c;
  --danger-z550: var(--danger-450);
  --danger-600: #bf807d;
  --danger-z600: var(--danger-400);
  --danger-650: #c4918e;
  --danger-z650: var(--danger-350);
  --danger-700: #c9a19f;
  --danger-z700: var(--danger-300);
  --danger-750: #cfb2b0;
  --danger-z750: var(--danger-250);
  --danger-800: #d5c2c0;
  --danger-z800: var(--danger-200);
  --danger-850: #ddd2d1;
  --danger-z850: var(--danger-150);
  --danger-900: #e6e1e1;
  --danger-z900: var(--danger-100);
  --danger-o100: #b35c5b1a;
  --danger-o200: #b35c5b33;
  --danger-o300: #b35c5b4d;
  --danger-o400: #b35c5b66;
  --danger-o500: #b35c5b80;
}

[data-theme=dark],
[data-theme=light] .-inverted-color-scheme {
  --brand: #B882FF;
  --fg: var(--grey-900);
  --variant-fg: var(--grey-1000);
  --bg: var(--grey-150);
  --bg-darker: var(--grey-100);
  --bg-lighter: var(--grey-200);
  --curtain: #0008;
  --highlight: #ffffff18;
  --shadow: #0003;
  --top-o100: #fff1;
  --lighten-900: #ffffff22;
  --lighten-700: #ffffff15;
  --lighten-500: #ffffff11;
  --lighten-300: #ffffff09;
  --lighten-100: #ffffff07;
  --lighten: var(--lighten-500);
  --darken-900: #0009;
  --darken-700: #0007;
  --darken-500: #0005;
  --darken-300: #0000003a;
  --darken-100: #0002;
  --darken: var(--darken-500);
  --muted-900: rgba(255, 255, 255, .9);
  --muted-700: rgba(255, 255, 255, .7);
  --muted-500: rgba(255, 255, 255, .5);
  --muted-400: rgba(255, 255, 255, .4);
  --muted-300: rgba(255, 255, 255, .3);
  --muted-200: rgba(255, 255, 255, .2);
  --muted-100: rgba(255, 255, 255, .1);
  --muted-50: rgba(255, 255, 255, .05);
  --muted: var(--muted-500);
  --grey: var(--grey-500);
  --grey-0: #000;
  --grey-z0: var(--grey-0);
  --grey-50: #111;
  --grey-z50: var(--grey-50);
  --grey-100: #1b1b1b;
  --grey-z100: var(--grey-100);
  --grey-150: #262626;
  --grey-z150: var(--grey-150);
  --grey-200: #303030;
  --grey-z200: var(--grey-200);
  --grey-250: #3b3b3b;
  --grey-z250: var(--grey-250);
  --grey-300: #474747;
  --grey-z300: var(--grey-300);
  --grey-350: #525252;
  --grey-z350: var(--grey-350);
  --grey-400: #5e5e5e;
  --grey-z400: var(--grey-400);
  --grey-450: #6a6a6a;
  --grey-z450: var(--grey-450);
  --grey-500: #777;
  --grey-z500: var(--grey-500);
  --grey-550: #848484;
  --grey-z550: var(--grey-550);
  --grey-600: #919191;
  --grey-z600: var(--grey-600);
  --grey-650: #9e9e9e;
  --grey-z650: var(--grey-650);
  --grey-700: #ababab;
  --grey-z700: var(--grey-700);
  --grey-750: #b9b9b9;
  --grey-z750: var(--grey-750);
  --grey-800: #c6c6c6;
  --grey-z800: var(--grey-800);
  --grey-850: #d4d4d4;
  --grey-z850: var(--grey-850);
  --grey-900: #e2e2e2;
  --grey-z900: var(--grey-900);
  --grey-950: #f1f1f1;
  --grey-z950: var(--grey-950);
  --grey-1000: #fff;
  --grey-z1000: var(--grey-1000);
  --grey-o100: #7777771a;
  --grey-o200: #7773;
  --grey-o300: #7777774d;
  --grey-o400: #7776;
  --grey-o500: #77777780;
  --accent: var(--accent-500);
  --accent-100: #1c1b1e;
  --accent-z100: var(--accent-100);
  --accent-150: #27252b;
  --accent-z150: var(--accent-150);
  --accent-200: #322f3a;
  --accent-z200: var(--accent-200);
  --accent-250: #3f394b;
  --accent-z250: var(--accent-250);
  --accent-300: #4b435d;
  --accent-z300: var(--accent-300);
  --accent-350: #584d71;
  --accent-z350: var(--accent-350);
  --accent-400: #655786;
  --accent-z400: var(--accent-400);
  --accent-450: #73629c;
  --accent-z450: var(--accent-450);
  --accent-500: #816cb2;
  --accent-z500: var(--accent-500);
  --accent-550: #8d7bb7;
  --accent-z550: var(--accent-550);
  --accent-600: #9989bb;
  --accent-z600: var(--accent-600);
  --accent-650: #a598c0;
  --accent-z650: var(--accent-650);
  --accent-700: #b1a7c5;
  --accent-z700: var(--accent-700);
  --accent-750: #bdb5cb;
  --accent-z750: var(--accent-750);
  --accent-800: #c9c4d3;
  --accent-z800: var(--accent-800);
  --accent-850: #d6d3db;
  --accent-z850: var(--accent-850);
  --accent-900: #e3e2e6;
  --accent-z900: var(--accent-900);
  --accent-o100: #816cb21a;
  --accent-o200: #816cb233;
  --accent-o300: #816cb24d;
  --accent-o400: #816cb266;
  --accent-o500: #816cb280;
  --success: var(--success-500);
  --success-100: #1a1c19;
  --success-z100: var(--success-100);
  --success-150: #232721;
  --success-z150: var(--success-150);
  --success-200: #2c3228;
  --success-z200: var(--success-200);
  --success-250: #343e2d;
  --success-z250: var(--success-250);
  --success-300: #3b4b32;
  --success-z300: var(--success-300);
  --success-350: #425837;
  --success-z350: var(--success-350);
  --success-400: #49663a;
  --success-z400: var(--success-400);
  --success-450: #4f743d;
  --success-z450: var(--success-450);
  --success-500: #568240;
  --success-z500: var(--success-500);
  --success-550: #688e55;
  --success-z550: var(--success-550);
  --success-600: #7b996a;
  --success-z600: var(--success-600);
  --success-650: #8da57f;
  --success-z650: var(--success-650);
  --success-700: #9eb194;
  --success-z700: var(--success-700);
  --success-750: #b0bda8;
  --success-z750: var(--success-750);
  --success-800: #c0c9bb;
  --success-z800: var(--success-800);
  --success-850: #d1d6ce;
  --success-z850: var(--success-850);
  --success-900: #e1e3df;
  --success-z900: var(--success-900);
  --success-o100: #5682401a;
  --success-o200: #56824033;
  --success-o300: #5682404d;
  --success-o400: #56824066;
  --success-o500: #56824080;
  --info: var(--info-500);
  --info-100: #191c1e;
  --info-z100: var(--info-100);
  --info-150: #20272b;
  --info-z150: var(--info-150);
  --info-200: #26323a;
  --info-z200: var(--info-200);
  --info-250: #293e4a;
  --info-z250: var(--info-250);
  --info-300: #2a4b5d;
  --info-z300: var(--info-300);
  --info-350: #285870;
  --info-z350: var(--info-350);
  --info-400: #206685;
  --info-z400: var(--info-400);
  --info-450: #07749b;
  --info-z450: var(--info-450);
  --info-500: #0082b1;
  --info-z500: var(--info-500);
  --info-550: #368eb6;
  --info-z550: var(--info-550);
  --info-600: #5b99ba;
  --info-z600: var(--info-600);
  --info-650: #77a5bf;
  --info-z650: var(--info-650);
  --info-700: #8fb0c5;
  --info-z700: var(--info-700);
  --info-750: #a5bccb;
  --info-z750: var(--info-750);
  --info-800: #bac9d2;
  --info-z800: var(--info-800);
  --info-850: #cdd6db;
  --info-z850: var(--info-850);
  --info-900: #dfe3e6;
  --info-z900: var(--info-900);
  --info-o100: #0082b11a;
  --info-o200: #0082b133;
  --info-o300: #0082b14d;
  --info-o400: #0082b166;
  --info-o500: #0082b180;
  --warning: var(--warning-500);
  --warning-100: #1d1b19;
  --warning-z100: var(--warning-100);
  --warning-150: #292520;
  --warning-z150: var(--warning-150);
  --warning-200: #352f25;
  --warning-z200: var(--warning-200);
  --warning-250: #433a2a;
  --warning-z250: var(--warning-250);
  --warning-300: #51452d;
  --warning-z300: var(--warning-300);
  --warning-350: #605030;
  --warning-z350: var(--warning-350);
  --warning-400: #705b31;
  --warning-z400: var(--warning-400);
  --warning-450: #806632;
  --warning-z450: var(--warning-450);
  --warning-500: #907231;
  --warning-z500: var(--warning-500);
  --warning-550: #9b7f49;
  --warning-z550: var(--warning-550);
  --warning-600: #a58d60;
  --warning-z600: var(--warning-600);
  --warning-650: #af9b77;
  --warning-z650: var(--warning-650);
  --warning-700: #b9a98e;
  --warning-z700: var(--warning-700);
  --warning-750: #c3b7a3;
  --warning-z750: var(--warning-750);
  --warning-800: #cdc5b8;
  --warning-z800: var(--warning-800);
  --warning-850: #d8d4cc;
  --warning-z850: var(--warning-850);
  --warning-900: #e4e2df;
  --warning-z900: var(--warning-900);
  --warning-o100: #9072311a;
  --warning-o200: #90723133;
  --warning-o300: #9072314d;
  --warning-o400: #90723166;
  --warning-o500: #90723180;
  --danger: var(--danger-500);
  --danger-100: #1e1b1a;
  --danger-z100: var(--danger-100);
  --danger-150: #2c2423;
  --danger-z150: var(--danger-150);
  --danger-200: #3b2d2c;
  --danger-z200: var(--danger-200);
  --danger-250: #4c3534;
  --danger-z250: var(--danger-250);
  --danger-300: #5f3e3c;
  --danger-z300: var(--danger-300);
  --danger-350: #734644;
  --danger-z350: var(--danger-350);
  --danger-400: #874e4c;
  --danger-z400: var(--danger-400);
  --danger-450: #9d5554;
  --danger-z450: var(--danger-450);
  --danger-500: #b35c5b;
  --danger-z500: var(--danger-500);
  --danger-550: #b96e6c;
  --danger-z550: var(--danger-550);
  --danger-600: #bf807d;
  --danger-z600: var(--danger-600);
  --danger-650: #c4918e;
  --danger-z650: var(--danger-650);
  --danger-700: #c9a19f;
  --danger-z700: var(--danger-700);
  --danger-750: #cfb2b0;
  --danger-z750: var(--danger-750);
  --danger-800: #d5c2c0;
  --danger-z800: var(--danger-800);
  --danger-850: #ddd2d1;
  --danger-z850: var(--danger-850);
  --danger-900: #e6e1e1;
  --danger-z900: var(--danger-900);
  --danger-o100: #b35c5b1a;
  --danger-o200: #b35c5b33;
  --danger-o300: #b35c5b4d;
  --danger-o400: #b35c5b66;
  --danger-o500: #b35c5b80;
}

:root {
  color: var(--fg);
}

:root, .-primary {
  --variant: var(--grey);
  --variant-z100: var(--grey-z100);
  --variant-z150: var(--grey-z150);
  --variant-z200: var(--grey-z200);
  --variant-z300: var(--grey-z300);
  --variant-z400: var(--grey-z400);
  --variant-z500: var(--grey-z500);
  --variant-z600: var(--grey-z600);
  --variant-z700: var(--grey-z700);
  --variant-z800: var(--grey-z800);
  --variant-z900: var(--grey-z900);
  --variant-o100: var(--grey-o100);
  --variant-o200: var(--grey-o200);
}

.-accent {
  --variant: var(--accent);
  --variant-z100: var(--accent-z100);
  --variant-z150: var(--accent-z150);
  --variant-z200: var(--accent-z200);
  --variant-z300: var(--accent-z300);
  --variant-z400: var(--accent-z400);
  --variant-z500: var(--accent-z500);
  --variant-z600: var(--accent-z600);
  --variant-z700: var(--accent-z700);
  --variant-z800: var(--accent-z800);
  --variant-z900: var(--accent-z900);
  --variant-o100: var(--accent-o100);
  --variant-o200: var(--accent-o200);
}

.-success {
  --variant: var(--success);
  --variant-z100: var(--success-z100);
  --variant-z150: var(--success-z150);
  --variant-z200: var(--success-z200);
  --variant-z300: var(--success-z300);
  --variant-z400: var(--success-z400);
  --variant-z500: var(--success-z500);
  --variant-z600: var(--success-z600);
  --variant-z700: var(--success-z700);
  --variant-z800: var(--success-z800);
  --variant-z900: var(--success-z900);
  --variant-o100: var(--success-o100);
  --variant-o200: var(--success-o200);
}

.-info {
  --variant: var(--info);
  --variant-z100: var(--info-z100);
  --variant-z150: var(--info-z150);
  --variant-z200: var(--info-z200);
  --variant-z300: var(--info-z300);
  --variant-z400: var(--info-z400);
  --variant-z500: var(--info-z500);
  --variant-z600: var(--info-z600);
  --variant-z700: var(--info-z700);
  --variant-z800: var(--info-z800);
  --variant-z900: var(--info-z900);
  --variant-o100: var(--info-o100);
  --variant-o200: var(--info-o200);
}

.-warning {
  --variant: var(--warning);
  --variant-z100: var(--warning-z100);
  --variant-z150: var(--warning-z150);
  --variant-z200: var(--warning-z200);
  --variant-z300: var(--warning-z300);
  --variant-z400: var(--warning-z400);
  --variant-z500: var(--warning-z500);
  --variant-z600: var(--warning-z600);
  --variant-z700: var(--warning-z700);
  --variant-z800: var(--warning-z800);
  --variant-z900: var(--warning-z900);
  --variant-o100: var(--warning-o100);
  --variant-o200: var(--warning-o200);
}

.-danger {
  --variant: var(--danger);
  --variant-z100: var(--danger-z100);
  --variant-z150: var(--danger-z150);
  --variant-z200: var(--danger-z200);
  --variant-z300: var(--danger-z300);
  --variant-z400: var(--danger-z400);
  --variant-z500: var(--danger-z500);
  --variant-z600: var(--danger-z600);
  --variant-z700: var(--danger-z700);
  --variant-z800: var(--danger-z800);
  --variant-z900: var(--danger-z900);
  --variant-o100: var(--danger-o100);
  --variant-o200: var(--danger-o200);
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slidein-from-left {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes slidein-from-right {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0px);
  }
}
@keyframes slidein-from-top {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes slidein-from-bottom {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
*, *:after, *:before {
  box-sizing: border-box;
}

html {
  font-family: var(--font-text);
  font-size: var(--font-size);
  line-height: calc(1em + 0.5rem);
  tab-size: 2;
  overflow-anchor: none;
  cursor: default;
  user-select: none;
  -webkit-user-drag: none;
}

html, body {
  height: 100%;
  overflow: hidden;
}

body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  text-shadow: inherit;
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: default;
}

img {
  -webkit-user-drag: none;
}

a {
  color: var(--info-z600);
  cursor: default;
  text-decoration: none;
  outline: none;
  -webkit-user-drag: none;
}
a:hover {
  color: var(--info-z900);
}
a:active {
  color: var(--info-z300);
}

a[target], a[href^="http://"], a[href^="https://"] {
  cursor: pointer;
  -webkit-user-drag: auto;
}
a[target] code, a[href^="http://"] code, a[href^="https://"] code {
  cursor: inherit;
}

code, textarea,
input[type=color], input[type=date], input[type=datetime], input[type=datetime-local],
input[type=email], input[type=month], input[type=number], input[type=password],
input[type=search], input[type=tel], input[type=text], input[type=time],
input[type=url], input[type=week] {
  user-select: auto;
  cursor: auto;
}

[data-nav-type=keyboard] :is(input, select, textarea, button, a):focus {
  outline: 1px dashed var(--muted);
  outline-offset: 2px;
}
[data-nav-type=pointer] :is(input, select, textarea, button, a):focus {
  outline-width: 0;
}

a:focus {
  outline-offset: 0;
}

::-webkit-input-placeholder {
  color: var(--muted);
  font-style: italic;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-size: 1em;
  font-weight: normal;
}

p {
  margin: 0;
}
p:not(:first-child) {
  margin-top: 0.5em;
}
p:not(:last-child) {
  margin-bottom: 0.5em;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

b, strong {
  font-weight: bold;
}

code, kbd, samp {
  font-family: var(--font-code);
  font-size: 1em;
}

pre, code {
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: pre-wrap;
  overflow: hidden;
}

small {
  font-size: 86%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

svg {
  pointer-events: none;
}

hr {
  height: 1px;
  border-bottom-width: 0;
  border-top-width: 1px;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

[type=date]::-webkit-calendar-picker-indicator {
  margin: 0;
}

summary {
  display: list-item;
}

*::-webkit-scrollbar {
  width: var(--scrollbar-size);
  height: var(--scrollbar-size);
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background: var(--grey-z300);
}
*:hover::-webkit-scrollbar-thumb {
  background: var(--grey);
}
*::-webkit-scrollbar-thumb:hover, *::-webkit-scrollbar-thumb:active {
  background: var(--fg);
}

select::-webkit-scrollbar-track {
  background: var(--bg);
}

html[data-theme] {
  background: var(--bg);
}

.Alert {
  min-height: calc(var(--input-height) * 1.2);
  padding: var(--spacing-half);
  padding-left: var(--spacing-half);
  color: var(--variant-z800);
  background: var(--variant-o200);
  border-radius: var(--border-radius);
  user-select: text;
  cursor: initial;
}
.Alert > * {
  margin: 0;
  padding: 0;
}
.Alert > * + * {
  margin-top: var(--spacing-quarter);
}
.Alert > :is(h1, h2, h3, h4, h5, h6) {
  font-size: 1em;
  font-weight: bold;
}
.Alert.-compact {
  line-height: 1.2;
}
.Alert.-center {
  text-align: center;
}

.App {
  display: flex;
}
.App > :is(.ImageEditor, .VideoEditor, .AudioEditor) {
  width: 100%;
  height: 100%;
}

.AudioEditor {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr auto auto;
  grid-template-areas: "view controls" "timeline timeline" "mediacontrols mediacontrols";
}
.AudioEditor > .preview {
  position: relative;
  grid-area: view;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--grey-z100);
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  contain: content;
}
.AudioEditor > .preview > .Spinner {
  --size: 4rem;
}
.AudioEditor > .preview > .CombinedPlayers {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
}
.AudioEditor > .controls {
  grid-area: controls;
}
.AudioEditor > .Timeline {
  grid-area: timeline;
}
.AudioEditor > .MediaControls {
  grid-area: mediacontrols;
}

.Button {
  flex: 0 0 auto;
  position: relative;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  gap: 0.3em;
  height: var(--input-height);
  width: auto;
  padding: var(--spacing-quarter);
  vertical-align: middle;
  color: var(--variant-fg);
  font-weight: bold;
  background-color: var(--variant-z400);
  border: 1px solid transparent;
  border-radius: var(--border-radius);
  transition: color 33ms linear, background-color 33ms linear, border-color 33ms linear;
}
.Button.-muted:not(:hover) {
  --variant: var(--grey);
  --variant-z100: var(--grey-z100);
  --variant-z400: var(--grey-z400);
  --variant-z600: var(--grey-z600);
  --variant-z700: var(--grey-z700);
  --variant-z900: var(--grey-z900);
  --variant-o200: var(--grey-o200);
  --tag-color: var(--variant);
  --tag-background: var(--variant-fg);
}
.Button:not(.-disabled):is(:hover, .-active) {
  color: var(--variant-fg);
  background-color: var(--variant-z500);
}
.Button:not(.-disabled):active {
  filter: brightness(0.8);
}
.Button.-large {
  height: calc(var(--input-height) * 1.2);
  padding-left: var(--spacing-half);
  padding-right: var(--spacing-half);
}
.Button.-disabled {
  filter: grayscale(50%);
  opacity: 0.5;
  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.0392156863) 25%, rgba(255, 255, 255, 0.031372549) 25%, rgba(255, 255, 255, 0.031372549) 50%, rgba(0, 0, 0, 0.0392156863) 50%, rgba(0, 0, 0, 0.0392156863) 75%, rgba(255, 255, 255, 0.031372549) 75%, rgba(255, 255, 255, 0.031372549) 100%);
  background-size: 1em 1em;
}
.Button.-multiline {
  height: auto;
  flex-wrap: wrap;
}
.Button.-semitransparent {
  color: var(--variant-z700);
  background-color: var(--variant-o200);
  --tag-color: var(--bg);
  --tag-background: var(--variant-z700);
}
.Button.-semitransparent:not(.-disabled):hover {
  color: var(--variant-fg);
  background-color: var(--variant);
  --tag-color: var(--variant);
  --tag-background: var(--variant-fg);
}
.Button.-transparent {
  color: var(--variant-z700);
  background-color: transparent;
  --tag-color: var(--bg);
  --tag-background: var(--variant-z700);
}
.Button.-transparent:not(.-disabled):hover {
  color: var(--variant-fg);
  background-color: var(--variant);
  --tag-color: var(--variant);
  --tag-background: var(--variant-fg);
}
.Button.-outline {
  color: var(--variant-z700);
  background-color: transparent;
  border-color: var(--variant);
  --tag-color: var(--bg);
  --tag-background: var(--variant-z700);
}
.Button.-outline:not(.-disabled):hover {
  color: var(--variant-fg);
  border-color: var(--variant-z700);
  --tag-color: var(--variant);
  --tag-background: var(--variant-fg);
}
.Button.-outline.-semitransparent {
  border-color: var(--background-semi);
}
.Button.-dashed {
  border-style: dashed;
}
.Button.-underline {
  color: var(--variant-z700);
  background-color: transparent;
  border: 0;
  padding-left: 0;
  padding-right: 0;
  --tag-color: var(--bg);
  --tag-background: var(--variant-z700);
}
.Button.-underline:not(.-disabled):hover {
  color: var(--variant-z900);
  background: transparent !important;
  --tag-background: var(--variant-z900);
}
.Button.-underline:not(.-disabled):hover::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 999em;
  background: var(--variant-z700);
}
.Button.-loading > *:not(.loader) {
  visibility: hidden;
}
.Button > .loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.Button > .txt {
  flex: 0 1 auto;
  min-width: 0;
}
.Button > .txt:not(.-multiline > *) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.Button .Tag {
  --color: var(--tag-color);
  --background: var(--tag-background);
}

.Checkbox {
  display: inline-block;
  width: var(--input-height);
  height: var(--input-height);
}
.Checkbox > input {
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
}
.Checkbox > .checkbox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: transparent;
  background: var(--darken);
  border: 1px solid var(--grey-z300);
  border-radius: var(--border-radius);
  font-family: var(--font-code);
  transition: opacity 33ms linear, color 33ms linear, background 33ms linear;
}
.Checkbox > .checkbox:not(.-disabled > *, :checked + *):hover {
  color: var(--muted-300);
}
.Checkbox > .checkbox:is(:checked + *) {
  color: var(--grey-z100);
  background: var(--grey-z800);
  border-color: transparent;
}
.Checkbox > .checkbox:is(:focus + *) {
  outline: 1px dashed var(--muted);
  outline-offset: 0px;
  outline-offset: 4px;
}
[data-nav-type=pointer] .Checkbox > .checkbox:is(:focus + *) {
  outline-width: 0;
}
.Checkbox > .checkbox > .Icon {
  --size: 90%;
  transform: scale(0.6);
  transition: transform 33ms linear, color 30ms linear, opacity 30ms linear;
  filter: none;
}
.Checkbox > :checked + .checkbox > .Icon {
  transform: scale(1);
}
.Checkbox > :disabled + .checkbox {
  filter: grayscale(50%);
  opacity: 0.5;
}
.Checkbox > :disabled + .checkbox:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.0392156863) 25%, rgba(255, 255, 255, 0.031372549) 25%, rgba(255, 255, 255, 0.031372549) 50%, rgba(0, 0, 0, 0.0392156863) 50%, rgba(0, 0, 0, 0.0392156863) 75%, rgba(255, 255, 255, 0.031372549) 75%, rgba(255, 255, 255, 0.031372549) 100%);
  background-size: 1em 1em;
}

.Controls {
  --gutter: 2px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 20rem;
  min-height: 0;
  padding-left: var(--scrollbar-size);
}
.Controls > header {
  flex: 0 0 auto;
  display: flex;
  gap: calc(var(--gutter) * 2);
  font-size: 1.3em;
  margin: calc(var(--gutter) * 2) calc(var(--scrollbar-size) + 1px) calc(var(--gutter) * 2) 0;
}
.Controls > header > .Button {
  flex: 1 1 auto;
  padding: var(--spacing-half);
  height: 2.4em;
}
.Controls > header > .cancel {
  flex-grow: 0.6;
}
.Controls > .Scrollable {
  padding-right: 1px;
}
.Controls > .Scrollable > * {
  margin-bottom: var(--gutter);
}

.ControlBox {
  border-radius: 3px;
  color: var(--variant-z800);
  background: var(--variant-o100);
}
.ControlBox > header {
  --height: 2rem;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: var(--spacing-quarter);
  height: var(--height);
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.ControlBox > header > h1 {
  padding: 0 var(--spacing);
  font-size: 1em;
  font-weight: bold;
  height: var(--height);
  line-height: var(--height);
  background: var(--variant-o200);
  border-radius: 0;
  border-top-left-radius: 3px;
  border-bottom-right-radius: 6px;
}
.ControlBox > header button {
  height: 1.9em;
  min-width: 1.9em;
  border: 0;
}
.ControlBox > header button:first-child {
  margin-left: var(--spacing-quarter);
}
.ControlBox > header button .Icon {
  --size: 1.2em;
}
.ControlBox > header > .cancel {
  border-radius: 0;
  border-top-right-radius: 3px;
  border-bottom-left-radius: 6px;
  flex: 0 0 auto;
  height: var(--height);
  margin-left: auto;
  border: 0;
  border-left: 1px solid var(--bg);
  padding: 0 var(--spacing-half);
}

.LoadingBox {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-half);
  align-items: center;
  padding: var(--spacing);
}
.LoadingBox > .Spinner {
  --size: 2rem;
}
.LoadingBox > .message {
  opacity: 0.6;
}

.RotateFlipControls {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: var(--spacing-quarter);
  padding: var(--spacing) var(--spacing-half);
}
.RotateFlipControls > .Button {
  aspect-ratio: 1.5;
  font-weight: normal;
}
.RotateFlipControls > .degrees {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5em;
  height: var(--input-height);
  font-family: var(--font-code);
  background: var(--darken);
  border-radius: var(--border-radius);
}
.RotateFlipControls > .spacer {
  width: var(--spacing-half);
}
.RotateFlipControls > .flip .Icon {
  --size: 1.2em;
}

.CropControls {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-half);
  padding: var(--spacing-half);
}
.CropControls > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-auto-flow: column;
  margin: 0;
  padding: 0;
  gap: 2px var(--spacing-half);
  list-style: none;
}
.CropControls > ul > li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5em;
}
.CropControls > ul > li > label {
  white-space: nowrap;
}
.CropControls > ul > li > label.-warning {
  color: var(--warning-z800);
  cursor: help;
}
.CropControls > ul > li > label > .icon {
  display: inline-block;
  width: 2ch;
}
.CropControls > .detect {
  display: flex;
  gap: var(--spacing-half);
  align-items: center;
}
.CropControls > .detect > label {
  display: flex;
  align-items: center;
  gap: 0.2em;
  cursor: help;
}
.CropControls > .detect > label > .Help {
  --size: 1.2em;
}
.CropControls > .detect > .Slider {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
}

.ResizeControls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-half);
  list-style: none;
  margin: 0;
  padding: var(--spacing-half);
}
.ResizeControls > li {
  flex: 1 0 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--spacing-half);
}
.ResizeControls > li > label {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.2em;
  white-space: nowrap;
  min-width: 7.5em;
}
.ResizeControls > li > label[title] {
  cursor: help;
}
.ResizeControls > li > label > .Help {
  --size: 1.2em;
}
.ResizeControls > li > .hint {
  font-size: 0.9em;
  line-height: 1.1;
  opacity: 0.6;
}

.CutsControls > .cuts {
  display: flex;
  flex-direction: column;
  gap: 1px;
  list-style: none;
  margin: var(--spacing-half) 0 0 1px;
  padding: 0;
}
.CutsControls > .cuts > li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  overflow: hidden;
}
.CutsControls > .cuts > li > * {
  height: 100%;
}
.CutsControls > .cuts > li.placeholder {
  height: auto;
  padding: var(--spacing-half) var(--spacing-half) var(--spacing);
  text-align: center;
  font-style: italic;
  line-height: 1.2;
  color: var(--muted);
}
.CutsControls > .cuts > li > input {
  flex: 1 1 0;
  min-width: 0;
  border: 0;
  padding: 0 0 0 var(--spacing-half);
  background: var(--darken);
  font-family: var(--font-code);
}
.CutsControls > .cuts > li > input:is([data-theme=light] *) {
  background: var(--lighten);
}
.CutsControls > .cuts > li > input.-danger {
  color: var(--danger-z600);
}
.CutsControls > .cuts > li > .divider {
  position: relative;
  z-index: 1;
  width: 1px;
  height: 100%;
  transform: rotate(10deg) scaleY(2);
  margin-left: -1px;
  background: var(--variant-z300);
}
.CutsControls > .cuts > li > .Button {
  aspect-ratio: 8/10;
  flex: 0 0 auto;
  border-radius: 0;
}
.CutsControls > .duration {
  flex-direction: column;
  margin: 0;
  padding: var(--spacing-third) var(--spacing-half);
}
.CutsControls > .duration > li {
  line-height: 1.5;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.CutsControls > .duration > li:first-child {
  margin-top: 0;
}
.CutsControls > .duration > li > .title {
  font-style: italic;
}
.CutsControls > .duration > li > .value {
  font-family: var(--font-code);
}

.MiscControls {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-third);
  list-style: none;
  margin: 0;
  padding: var(--spacing-half);
}
.MiscControls > li {
  border-radius: var(--border-radius);
}
.MiscControls > li.-active {
  color: var(--success-z800);
  background: var(--success-o100);
}
.MiscControls > li.divider {
  display: flex;
  align-items: center;
  gap: var(--spacing);
  font-style: italic;
  color: var(--muted);
  min-height: var(--spacing-half);
}
.MiscControls > li.divider::after {
  content: "";
  height: 0;
  border-top: 1px dashed var(--grey-o300);
  flex: 5 1 0;
}
.MiscControls > li > label {
  display: flex;
  align-items: center;
  gap: var(--spacing-half);
}
.MiscControls > li > label > .title {
  display: flex;
  align-items: center;
  gap: 0.2em;
  white-space: nowrap;
}
.MiscControls > li > label[title] > span,
.MiscControls > li > label > [title] {
  cursor: help;
}
.MiscControls > li > label > .input {
  flex: 1 1 0;
  min-width: 4ch;
}
.MiscControls > li > label > .value {
  font-family: var(--font-code);
  font-weight: bold;
  white-space: nowrap;
}
.MiscControls > li > label > .hint {
  font-style: italic;
  white-space: nowrap;
}

.SpeedFpsControls {
  padding: var(--spacing);
}
.SpeedFpsControls > .controls {
  display: flex;
  align-items: center;
}
.SpeedFpsControls > .controls > * {
  flex: 0 0 auto;
}
.SpeedFpsControls > .controls > .Slider {
  flex: 1 0 0;
  margin-right: var(--spacing-half);
}
.SpeedFpsControls > .controls > .unit {
  margin-left: var(--spacing-third);
  font-family: var(--font-code);
}
.SpeedFpsControls > .legend {
  margin-top: var(--spacing-half);
  padding: var(--spacing-quarter) var(--spacing-third);
  background: var(--variant-z300);
  border-radius: var(--border-radius);
}
.SpeedFpsControls > .info {
  margin-top: var(--spacing-half);
  color: var(--variant-z700);
  font-style: italic;
  line-height: 1.2;
}
.SpeedFpsControls > label {
  margin-top: var(--spacing);
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--spacing-half);
}
.SpeedFpsControls > label > h1 {
  flex: 0 1 30%;
  font-weight: bold;
}
.SpeedFpsControls > label > .disabled {
  color: var(--muted);
  font-style: italic;
}

.DestinationControls {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-half);
  padding: var(--spacing-half);
}
.DestinationControls > .Input {
  width: 100%;
}
.DestinationControls > .description {
  color: var(--muted);
  font-style: italic;
}

.Cropper {
  --handleSize: 20px;
  --handleOffset: calc(var(--handleSize) / 2);
  position: relative;
  overflow: hidden;
}
.Cropper:is(.-disabled) {
  pointer-events: none;
}
.Cropper > .area {
  position: absolute;
}
.Cropper > .area > .shade {
  width: 100%;
  height: 100%;
  color: rgba(0, 0, 0, 0.7333333333);
}
.Cropper > .area > .crop {
  position: absolute;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2666666667);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.5333333333) 50%, rgba(0, 0, 0, 0.5333333333) 0) repeat-x, linear-gradient(90deg, rgba(255, 255, 255, 0.5333333333) 50%, rgba(0, 0, 0, 0.5333333333) 0) repeat-x, linear-gradient(0deg, rgba(255, 255, 255, 0.5333333333) 50%, rgba(0, 0, 0, 0.5333333333) 0) repeat-y, linear-gradient(0deg, rgba(255, 255, 255, 0.5333333333) 50%, rgba(0, 0, 0, 0.5333333333) 0) repeat-y;
  background-size: 6px 1px, 6px 1px, 1px 6px, 1px 6px;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
}
.Cropper > .area > .crop.-movable:not(.-dragging > *) {
  cursor: move;
}
.Cropper > .area > .crop > * {
  position: absolute;
  width: var(--handleSize);
  height: var(--handleSize);
}
.Cropper > .area > .crop > *:is(.Cropper.-dragging *) {
  display: none;
}
.Cropper > .area > .crop > .top {
  left: var(--handleOffset);
  top: calc(var(--handleOffset) * -1);
  width: calc(100% - var(--handleOffset));
  cursor: ns-resize;
}
.Cropper > .area > .crop > .bottom {
  left: var(--handleOffset);
  bottom: calc(var(--handleOffset) * -1);
  width: calc(100% - var(--handleOffset));
  cursor: ns-resize;
}
.Cropper > .area > .crop > .left {
  left: calc(var(--handleOffset) * -1);
  top: var(--handleOffset);
  height: calc(100% - var(--handleOffset));
  cursor: ew-resize;
}
.Cropper > .area > .crop > .right {
  right: calc(var(--handleOffset) * -1);
  top: var(--handleOffset);
  height: calc(100% - var(--handleOffset));
  cursor: ew-resize;
}
.Cropper > .area > .crop > .top-left {
  left: calc(var(--handleOffset) * -1);
  top: calc(var(--handleOffset) * -1);
  cursor: nwse-resize;
}
.Cropper > .area > .crop > .top-right {
  right: calc(var(--handleOffset) * -1);
  top: calc(var(--handleOffset) * -1);
  cursor: nesw-resize;
}
.Cropper > .area > .crop > .bottom-left {
  left: calc(var(--handleOffset) * -1);
  bottom: calc(var(--handleOffset) * -1);
  cursor: nesw-resize;
}
.Cropper > .area > .crop > .bottom-right {
  right: calc(var(--handleOffset) * -1);
  bottom: calc(var(--handleOffset) * -1);
  cursor: nwse-resize;
}

.Dialog {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  color: var(--fg);
  min-inline-size: 30em;
  max-inline-size: 90vw;
  max-block-size: min(80vh, 100%);
  max-block-size: min(80dvb, 100%);
  margin: auto;
  padding: 0;
  position: fixed;
  inset: 0;
  border: 0;
  border-top: 1px solid var(--grey-z400);
  border-radius: 4px;
  box-shadow: 0 10px 40px var(--shadow), 0 6px 12px var(--shadow), 0 0 4px var(--shadow);
  z-index: 1000;
  overflow: hidden;
}
.Dialog.-center {
  inset: 0;
}
.Dialog.-top {
  inset: 20px 0 auto;
}
.Dialog.-bottom {
  inset: auto 0 20px;
}
.Dialog:not([open]) {
  pointer-events: none;
  opacity: 0;
}
.Dialog::backdrop {
  z-index: 1000;
  background: rgba(34, 34, 34, 0.5333333333);
  backdrop-filter: blur(5px);
}
.Dialog > header {
  display: flex;
  align-items: center;
  gap: var(--spacing);
  background: var(--lighten);
  padding: var(--spacing-half) var(--spacing-three-quarters);
}
.Dialog > header > .title {
  font-weight: bold;
}
.Dialog > header > .close {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-family: var(--font-code);
  margin-left: auto;
  width: 2rem;
  height: 2rem;
  border-radius: 9em;
  background: var(--grey-z300);
}
.Dialog > header > .close:hover {
  color: var(--bg);
  background: var(--fg);
}
.Dialog > header + * {
  flex: 0 1 auto;
  min-height: 0;
}

.DialogErrorContent > .message {
  padding: var(--spacing);
}
.DialogErrorContent > .Pre {
  --padding: var(--spacing);
  background: var(--darken);
}

.Dropdown {
  position: relative;
  display: inline-block;
  height: var(--input-height);
  max-width: 100%;
  color: var(--variant-z900);
  background: var(--darken);
  padding: 0 0.3em;
  font-family: var(--font-code);
  border: 1px solid var(--variant-z400);
  border-radius: var(--border-radius);
}
.Dropdown:focus {
  border-color: var(--variant-z600);
}
.Dropdown[multiple] {
  padding: 0;
  height: calc(var(--input-height) * 5);
}
.Dropdown[disabled] {
  filter: grayscale(50%);
  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.0392156863) 25%, rgba(255, 255, 255, 0.031372549) 25%, rgba(255, 255, 255, 0.031372549) 50%, rgba(0, 0, 0, 0.0392156863) 50%, rgba(0, 0, 0, 0.0392156863) 75%, rgba(255, 255, 255, 0.031372549) 75%, rgba(255, 255, 255, 0.031372549) 100%);
  background-size: 1em 1em;
  opacity: 0.5;
}
.Dropdown option {
  padding: 0.3em 0.8em;
}
.Dropdown option:not([multiple] > *) {
  color: var(--fg);
  background: var(--bg);
}

.HelpToggle > .content {
  position: absolute;
  right: calc(var(--spacing-half) - 2px);
  bottom: calc(var(--spacing-half) - 2px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: min(600px, 80%);
  height: auto;
  max-height: 80%;
  background: var(--grey-z150);
  border-radius: calc(var(--border-radius) * 4) calc(var(--border-radius) * 2) calc(var(--border-radius) * 5);
  border: 1px solid var(--grey-z0);
  transition: transform 100ms ease-out, opacity 100ms linear;
  opacity: 0;
  transform: scale(0);
  transform-origin: bottom right;
}
.HelpToggle > .content.-expanded {
  opacity: 1;
  transform: scale(1);
}
.HelpToggle > .content > .Scrollable {
  flex: 0 1 auto;
  padding: var(--spacing) calc(var(--spacing) - var(--scrollbar-size)) var(--spacing) var(--spacing);
  min-height: 0;
  height: auto;
  max-height: 100%;
  margin: 2px;
  border-radius: calc(var(--border-radius) * 4 - 2px) calc(var(--border-radius) * 2 - 2px);
}
.HelpToggle > .content table {
  width: 100%;
  border: 1px solid var(--grey-z100);
  border-radius: calc(var(--border-radius) + 2px);
}
.HelpToggle > .content table td {
  width: 100%;
}
.HelpToggle > .content table td:first-child {
  min-width: 5em;
  width: min-content;
  text-align: right;
}
.HelpToggle > .toggle {
  position: absolute;
  right: var(--spacing-half);
  bottom: var(--spacing-half);
  z-index: 3;
  border-radius: 99em;
  aspect-ratio: 1;
  padding: 0;
  font-weight: bold;
}

.Icon {
  --size: 1.5em;
  display: inline-block;
  flex: 0 0 auto;
  aspect-ratio: 1;
  width: var(--size);
  height: var(--size);
}
.Icon > svg {
  display: block;
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.Help {
  --size: 1.5em;
  display: inline-block;
  flex: 0 0 auto;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size);
  height: var(--size);
  color: var(--grey-z1000);
  background: var(--grey-o200);
  border-radius: var(--size);
  cursor: help;
  opacity: 0.5;
}
.Help::before {
  content: "?";
  font-size: calc(var(--size) * 0.666);
  font-family: var(--font-code);
  font-weight: bold;
}

.ImageEditor {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr;
  grid-template-areas: "view controls";
}
.ImageEditor > .preview {
  position: relative;
  grid-area: view;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ImageEditor > .preview > .Spinner {
  --size: 4rem;
}
.ImageEditor > .preview > .Preview {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
}
.ImageEditor > .controls {
  grid-area: controls;
}

.ImageView {
  display: block;
}

.Input {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 20em;
  height: var(--input-height);
  max-width: 100%;
  color: var(--variant-z900);
  vertical-align: middle;
}
.Input > input {
  position: relative;
  z-index: 2;
  flex: 1 1 0;
  min-width: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.6em;
  font-family: var(--font-code);
  background: transparent;
  border: 0;
  transition: color 300ms cubic-bezier(0.19, 1, 0.22, 1), background 300ms cubic-bezier(0.19, 1, 0.22, 1), transform 300ms cubic-bezier(0.19, 1, 0.22, 1);
}
.Input > input::placeholder {
  color: var(--muted-300);
}
.Input > input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.Input > input[type=date]::-webkit-calendar-picker-indicator {
  opacity: 0;
}
.Input.-transparent {
  color: var(--variant-z700);
}
.Input.-transparent > .bg {
  display: none;
}
.Input.-disabled {
  filter: grayscale(50%);
  opacity: 0.5;
}
.Input.-disabled:after {
  content: "";
  display: block;
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius);
  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.0392156863) 25%, rgba(255, 255, 255, 0.031372549) 25%, rgba(255, 255, 255, 0.031372549) 50%, rgba(0, 0, 0, 0.0392156863) 50%, rgba(0, 0, 0, 0.0392156863) 75%, rgba(255, 255, 255, 0.031372549) 75%, rgba(255, 255, 255, 0.031372549) 100%);
  background-size: 1em 1em;
}
.Input > .bg {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--darken);
  border-radius: var(--border-radius);
  border: 1px solid var(--variant-z400);
}
.Input > .bg:is(input:focus ~ *) {
  border-color: var(--variant-z600);
}
.Input > button {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  height: 85%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--variant-o500);
}
.Input > button:last-of-type {
  margin-right: var(--spacing-quarter);
}
.Input > button > .Icon {
  --size: 80%;
}
.Input > button:hover {
  color: var(--variant-z700);
}

.MediaControls {
  display: flex;
  align-items: center;
  gap: var(--spacing-half);
  padding: var(--spacing-half) var(--spacing);
}
.MediaControls > button {
  min-width: 2.5em;
  height: 2.4em;
}
.MediaControls > button > .Icon {
  --size: 1.8em;
}
.MediaControls > .space {
  flex: 8 1 0;
}
.MediaControls > .space-tiny {
  flex: 1 1 0;
}
.MediaControls > .time {
  flex: 0 1 auto;
  min-width: 0;
  height: 100%;
  display: flex;
  align-items: center;
  font-family: var(--font-code);
  gap: 0.3em;
  overflow: hidden;
}
.MediaControls > .time > .current {
  white-space: nowrap;
}
.MediaControls > .time > .duration {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}
.MediaControls > .time > .duration > .final {
  display: flex;
  align-items: center;
  gap: 0.2em;
  color: var(--success-z700);
  font-size: 0.9em;
  margin: 0 0 -0.5em -0.3em;
  cursor: help;
  opacity: 0.7;
}
.MediaControls > .time > .duration > .final > .Icon {
  --size: 1em;
}
.MediaControls > .play {
  flex: 0 0 auto;
  width: 3em;
  height: 3em;
  margin: 0 var(--spacing-half);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999em;
  color: var(--grey-z900);
  background: var(--grey-o200);
}
.MediaControls > .play:hover {
  background: var(--grey-z500);
}
.MediaControls > .play.-active {
  color: var(--grey-z100);
  background: var(--grey-z700);
}
.MediaControls > .play.-active:hover {
  background: var(--grey-z900);
}
.MediaControls > .play > .Icon {
  --size: 2em;
}
.MediaControls > .volume {
  flex: 0 1 auto;
  max-width: 7em;
  min-width: 3em;
}
.MediaControls > .Help {
  --size: 2em;
}
.MediaControls > .deleteCut {
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}

.MediaPlayer {
  display: flex;
  align-items: center;
  justify-content: center;
}
.MediaPlayer > :is(video, canvas) {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
}
.MediaPlayer > .fallbackAudio {
  display: none;
}

.CombinedPlayers {
  display: flex;
  align-items: center;
  justify-content: center;
}
.CombinedPlayers > * {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.CombinedPlayers > .visualizer {
  width: 100%;
  height: 100%;
  opacity: 0.2;
}
.CombinedPlayers > .visualizer:is([data-theme=light] *) {
  filter: invert(100%);
}

.Pre {
  --padding: 0;
  max-width: 100%;
  max-height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.Pre > pre {
  display: block;
  flex: 0 1 auto;
  min-height: 0;
  max-height: 100%;
  margin: 0;
  color: var(--variant);
  padding: var(--padding);
  overflow-y: auto;
  user-select: text;
  cursor: initial;
}

.Preview {
  position: relative;
  overflow: hidden;
  background: var(--grey-z100);
}
.Preview > .view {
  position: absolute;
  background: repeating-conic-gradient(var(--grey-o100) 0% 25%, transparent 0% 50%) 50%/20px 20px;
  box-shadow: 0 0 0 1px var(--darken), 0 0 4px 1px var(--darken);
}
.Preview > .view > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
}
.Preview > .Cropper {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.Preview > .controls {
  display: flex;
  align-items: center;
  gap: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  margin: var(--spacing-half);
}
.Preview > .controls > * {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.2em;
  border-radius: 3px;
}
.Preview > .controls > button {
  min-width: 2.2em;
  margin: 0;
  padding: 0 0.4em;
  color: var(--grey-z800);
  background: var(--grey-z200);
  opacity: 0.7;
}
.Preview > .controls > button:hover {
  color: var(--grey-z1000);
  background: var(--grey-z200);
  opacity: 1;
}
.Preview > .controls > button.-active {
  color: var(--grey-z100);
  background: var(--grey-z900);
  opacity: 1;
}
.Preview > .controls > button .Icon {
  --size: 1.4em;
}
.Preview > .controls > .zoom {
  width: 3.6em;
  color: var(--grey-z900);
}

.Scrollable.-vertical {
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
}
.Scrollable.-horizontal {
  min-width: 0;
  max-width: 100%;
  overflow-x: scroll;
  overflow-y: hidden;
}

.-overflow-top {
  -webkit-mask-image: linear-gradient(to bottom, transparent 5px, black 1.5rem), linear-gradient(to left, black var(--scrollbar-size), transparent var(--scrollbar-size));
          mask-image: linear-gradient(to bottom, transparent 5px, black 1.5rem), linear-gradient(to left, black var(--scrollbar-size), transparent var(--scrollbar-size));
}

.-overflow-bottom {
  -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 1.5rem), transparent calc(100% - 5px)), linear-gradient(to left, black var(--scrollbar-size), transparent var(--scrollbar-size));
          mask-image: linear-gradient(to bottom, black calc(100% - 1.5rem), transparent calc(100% - 5px)), linear-gradient(to left, black var(--scrollbar-size), transparent var(--scrollbar-size));
}

.-overflow-top.-overflow-bottom {
  -webkit-mask-image: linear-gradient(to bottom, transparent 5px, black 1.5rem, black calc(100% - 1.5rem), transparent calc(100% - 5px)), linear-gradient(to left, black var(--scrollbar-size), transparent var(--scrollbar-size));
          mask-image: linear-gradient(to bottom, transparent 5px, black 1.5rem, black calc(100% - 1.5rem), transparent calc(100% - 5px)), linear-gradient(to left, black var(--scrollbar-size), transparent var(--scrollbar-size));
}

.-overflow-left {
  -webkit-mask-image: linear-gradient(to right, transparent 5px, black 1.5rem);
          mask-image: linear-gradient(to right, transparent 5px, black 1.5rem);
}

.-overflow-right {
  -webkit-mask-image: linear-gradient(to right, black calc(100% - 1.5rem), transparent calc(100% - 5px));
          mask-image: linear-gradient(to right, black calc(100% - 1.5rem), transparent calc(100% - 5px));
}

.-overflow-left.-overflow-right {
  -webkit-mask-image: linear-gradient(to right, transparent 5px, black 1.5rem, black calc(100% - 1.5rem), transparent calc(100% - 5px));
          mask-image: linear-gradient(to right, transparent 5px, black 1.5rem, black calc(100% - 1.5rem), transparent calc(100% - 5px));
}

.Select {
  --padding: var(--spacing-half);
  display: inline-flex;
  border-radius: var(--border-radius);
  min-width: 0;
}
.Select:not(.-multi, .-transparent) {
  background: var(--darken);
  box-shadow: inset 0 0 0 1px var(--variant-z300);
}
.Select:is(.-multi) {
  background: transparent;
  --padding: var(--spacing-quarter);
  gap: 4px;
  flex-wrap: wrap;
}
.Select > button {
  --text: var(--variant-z700);
  --tag-color: var(--bg);
  position: relative;
  display: inline-flex;
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
  gap: 0.2em;
  min-width: 3em;
  color: var(--text);
  height: var(--input-height);
  padding: 0 var(--padding);
  background: transparent;
  border-radius: var(--border-radius);
  transition: all 66ms linear;
  overflow: hidden;
}
.Select > button:not(.-multi *, .-transparent *, :first-child, .-selected, .-selected + *, :hover, :hover + *)::before {
  content: "";
  position: absolute;
  top: 30%;
  left: 0;
  width: 1px;
  height: 40%;
  background: var(--grey-o500);
}
.Select > button:is(:disabled, .-disabled > *) {
  filter: grayscale(50%);
  opacity: 0.5;
  transition-duration: 0s;
}
.Select > button:is(:disabled, .-disabled > *):after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.0392156863) 25%, rgba(255, 255, 255, 0.031372549) 25%, rgba(255, 255, 255, 0.031372549) 50%, rgba(0, 0, 0, 0.0392156863) 50%, rgba(0, 0, 0, 0.0392156863) 75%, rgba(255, 255, 255, 0.031372549) 75%, rgba(255, 255, 255, 0.031372549) 100%);
  background-size: 1em 1em;
}
.Select > button:not(:disabled, .-selected):hover {
  --text: var(--variant-z800);
  background: var(--variant-o300);
}
.Select > button:not(.-multi > *).-selected {
  --text: var(--variant-z100);
  --tag-color: var(--variant-z700);
  background: var(--variant-z700);
}
.Select > button:is(.-multi > *) {
  --tag-color: var(--bg);
  flex: 0 0 auto;
  background: var(--variant-o200);
}
.Select > button:is(.-multi > *):is(.-transparent > *):not(.-selected, .-selected > *) {
  background: transparent;
}
.Select > button:is(.-multi > *):not(:disabled, .-selected):hover {
  --text: var(--variant-fg);
  --tag-color: var(--variant);
}
.Select > button:is(.-multi > *).-selected {
  --text: var(--variant-z100);
  --tag-color: var(--variant);
  background: var(--variant-z700);
}
.Select > button:is(.-multi > *) > .check {
  width: var(--input-height);
  height: var(--input-height);
  margin: 0 0.1rem 0 calc(var(--padding) * -1);
  color: transparent;
  background: var(--darken-100);
  pointer-events: none;
  transition: all 66ms linear;
}
.Select > button:is(.-multi > *) > .check:not(.-transparent > * > *) {
  border-right: 1px solid var(--grey-z200);
}
.Select > button:is(.-multi > *) > .check:is(.-transparent > * > *) {
  border-radius: var(--border-radius);
}
.Select > button:is(.-multi > *) > .check:is(.-selected > *) {
  color: var(--variant-z100);
  border-color: var(--variant-z600);
}
.Select > button .Tag {
  transition: all 66ms linear;
  --color: var(--tag-color);
  --background: var(--text);
}
.Select > button .Tag:first-child {
  margin-left: calc(var(--padding) * -0.6);
}
.Select > button .Tag:last-child {
  margin-right: calc(var(--padding) * -0.4);
}

.Slider {
  --thumb-size: calc(var(--input-height) * 0.8);
  --track-size: 4px;
  display: inline-block;
  -webkit-appearance: none;
  background: transparent;
  width: 20rem;
  height: var(--input-height);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--border-radius);
}
.Slider::-webkit-slider-runnable-track {
  width: 100%;
  height: var(--track-size);
  border-radius: var(--border-radius);
  background: var(--variant-z300);
}
.Slider:focus::-webkit-slider-runnable-track {
  background: var(--variant-z700);
}
.Slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 0.8em;
  height: var(--thumb-size);
  margin-top: calc(var(--thumb-size) * -0.5 + var(--track-size) * 0.5);
  border-radius: var(--border-radius);
  background: var(--variant-z700);
}
.Slider.-disabled {
  filter: grayscale(50%);
  opacity: 0.5;
}
.Slider.-disabled::-webkit-slider-thumb, .Slider.-disabled::-webkit-slider-runnable-track {
  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.0392156863) 25%, rgba(255, 255, 255, 0.031372549) 25%, rgba(255, 255, 255, 0.031372549) 50%, rgba(0, 0, 0, 0.0392156863) 50%, rgba(0, 0, 0, 0.0392156863) 75%, rgba(255, 255, 255, 0.031372549) 75%, rgba(255, 255, 255, 0.031372549) 100%);
  background-size: 1em 1em;
}
.Slider.-volume::-webkit-slider-runnable-track {
  height: 100%;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' preserveAspectRatio='none'><path d='M 0 10 H 10 V 0 z' fill='%238884' /></svg>");
  background-size: 110% 100%;
  background-position-x: right;
}
.Slider.-volume::-webkit-slider-thumb {
  width: 6px;
  height: 100%;
  margin-top: 0;
  border: 1px solid var(--bg);
}

.Spinner {
  --size: 1.2em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size);
  height: var(--size);
}
.Spinner::after {
  content: "";
  width: 83.333%;
  height: 83.333%;
  display: block;
  animation: Spinner-rotate 500ms infinite linear;
  color: var(--variant-z700);
  border: max(var(--size) / 14, 1px) solid currentColor;
  border-right-color: transparent;
  border-left-color: transparent;
  border-radius: 50%;
}

@keyframes Spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.Tag {
  --color: var(--bg);
  --background: var(--variant-z700);
  display: inline-block;
  color: var(--color);
  background: var(--background);
  border-radius: var(--border-radius);
  padding: 0 0.25em;
  line-height: 1.3;
}

.TextContent {
  user-select: text;
  cursor: initial;
}
.TextContent :is(p, ul, ol, pre, h1, h2, h3, h4, h5, h6):not(:first-child) {
  margin-top: 0.8em;
}
.TextContent :is(p, ul, ol, pre, h1, h2, h3, h4, h5, h6):not(:last-child) {
  margin-bottom: 0.8em;
}
.TextContent :is(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  font-size: 1em;
  font-weight: bold;
}
.TextContent :is(h1, h2, h3, h4, h5, h6):not(:first-child) {
  margin-top: 1.2em;
}
.TextContent h1 {
  font-size: 1.6em;
}
.TextContent h2 {
  font-size: 1.4em;
}
.TextContent h3 {
  font-size: 1.2em;
}
.TextContent h4 {
  font-size: 1.1em;
}
.TextContent h6 {
  font-weight: normal;
}
.TextContent a {
  cursor: pointer;
}
.TextContent pre {
  padding: 0.5em 0.8em;
  background: var(--darken);
  border-radius: var(--border-radius);
}
.TextContent pre code {
  color: inherit;
  background: transparent;
}
.TextContent code {
  padding: 0.1em 0.2em;
  color: var(--fg);
  background: var(--lighten-300);
  border-radius: var(--border-radius);
}
.TextContent kbd {
  padding: 0.04em 0.2em;
  border-radius: var(--border-radius);
  color: var(--grey-z800);
  background: var(--lighten);
  box-shadow: inset 0 1px 0 var(--lighten), 0 2px 0 1px var(--darken-700);
  white-space: nowrap;
}
.TextContent hr {
  margin: var(--spacing-half) 0;
  border: 0;
  border-top: 1px solid var(--grey-z200);
}
.TextContent :is(ul, ol) {
  margin: 0;
  padding-left: 2em;
}
.TextContent :is(ul, ol) li {
  margin: 0;
  padding: 0;
}
.TextContent ul li {
  list-style: disc outside;
}
.TextContent ol li {
  list-style: decimal outside;
}
.TextContent dl dt {
  font-weight: bold;
}
.TextContent dl dd {
  margin-left: var(--spacing);
}
.TextContent dl dt + dd {
  margin-top: var(--spacing-third);
}
.TextContent dl dd + dt {
  margin-top: var(--spacing);
}
.TextContent img {
  max-width: 100%;
  max-height: 100vh;
}
.TextContent .-muted {
  color: var(--muted);
}
.TextContent table {
  border-spacing: 1px;
}
.TextContent table thead {
  border-bottom: 1px solid transparent;
}
.TextContent table tr:nth-child(odd) {
  background: var(--grey-o100);
  background-clip: padding-box;
}
.TextContent table :is(td, th) {
  padding: var(--spacing-third) var(--spacing-half);
}

.Timeline {
  --border-size: 1px;
  --height: 5rem;
  --title-height: 2em;
  --track-height: calc(var(--height) - var(--border-size) * 2 - var(--title-height));
  position: relative;
  height: var(--height);
  background: var(--grey-z50);
  border: var(--border-size) solid var(--grey-z50);
  border-left: 0;
  border-right: 0;
  overflow: hidden;
}
.Timeline:is([data-theme=light] *) {
  border-color: var(--grey-z250);
}
.Timeline > .timeline {
  position: absolute;
  top: 1px;
  left: 0;
  width: 100%;
  height: calc(100% - 1px);
}
.Timeline > .timeline > .segments {
  display: flex;
  gap: 1px;
  height: 100%;
  background: var(--grey-z100);
}
.Timeline > .timeline > .segments:is(.-grab *) {
  cursor: grab;
}
.Timeline > .timeline > .segments:is(.-grabbing *) {
  cursor: grabbing;
}
.Timeline > .timeline > .segments > article {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.Timeline > .timeline > .segments > article.-dragged {
  box-shadow: 0 0 1px 1px var(--shadow);
}
.Timeline > .timeline > .segments > article > h1 {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  width: 100%;
  max-width: 100%;
  padding: 0 0.5em;
  min-width: 0;
  font-size: 0.9em;
  font-family: var(--font-code);
  color: var(--variant-z700);
  background: var(--variant-z200);
  border-radius: 1px;
}
.Timeline > .timeline > .segments > article > h1 > span {
  flex: 0 0 auto;
}
.Timeline > .timeline > .segments > article > h1 > .name {
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  left: 0.5em;
  margin-right: calc(var(--controls-width, 0px) + 0.5em);
}
.Timeline > .timeline > .segments > article > h1 > .name > span {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}
.Timeline > .timeline > .segments > article > h1 > .name > span.start:after {
  content: "​";
}
.Timeline > .timeline > .segments > article > h1 > .name > span.end {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: rtl;
  text-align: left;
}
.Timeline > .timeline > .segments > article > h1 > .name > span.end:before {
  content: "‭";
}
.Timeline > .timeline > .segments > article > h1 > .controlsFrame {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: calc(var(--controls-width, 0px) * -1);
}
.Timeline > .timeline > .segments > article > h1 > .controlsFrame > .controls {
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  right: 0.5em;
}
.Timeline > .timeline > .segments > article > h1 > .controlsFrame > .controls > .Button {
  height: 100%;
  margin: 0 -0.5em 0 0.3em;
}
.Timeline > .timeline > .segments > article > h1 > .controlsFrame > .controls > .Icon {
  height: 80%;
  margin: 0 0 0 0.3em;
  cursor: help;
}
.Timeline > .timeline > .segments > article > h1 > .controlsFrame > .controls > .Icon:is(.muted, .info) {
  opacity: 0.5;
}
.Timeline > .timeline > .segments > article > .track {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--track-height);
  background: var(--variant-z150);
  border-radius: 1px;
  overflow: hidden;
}
.Timeline > .timeline > .segments > article > .track:is(.-dragged > *) {
  opacity: 1;
}
.Timeline > .timeline > .segments > article > .track > .loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-half);
  opacity: 0.8;
}
.Timeline > .timeline > .segments > article > .track > .loading > .Spinner {
  --size: 1.5em;
}
.Timeline > .timeline > .segments > article > .track > .waveform {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
  opacity: 0.3;
}
.Timeline > .timeline > .segments > article > .track > .waveform:is([data-theme=light] *) {
  filter: invert(100%);
}
.Timeline > .timeline > .time {
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--track-height);
}
.Timeline > .timeline > .time > .cuts {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.Timeline > .timeline > .time > .cuts > li {
  position: absolute;
  top: 0;
  height: 100%;
  background: var(--success-o300);
  border-radius: 2px;
  border: 1px solid var(--success-o500);
  border-top: 0;
  border-bottom: 0;
}
.Timeline > .timeline > .time > .cuts > li > .handle {
  position: absolute;
  top: 0;
  width: 4px;
  height: 100%;
  margin: 0 0 0 -2px;
  cursor: ew-resize;
}
.Timeline > .timeline > .time > .cuts > li > .handle.-start {
  left: -2px;
}
.Timeline > .timeline > .time > .cuts > li > .handle.-end {
  right: -2px;
}
.Timeline > .timeline > .time > :is(.position, .cursor) {
  --width: 2px;
  z-index: 3;
  position: absolute;
  top: 0;
  left: calc((100% - var(--width)) * var(--position, 0));
  width: var(--width);
  height: 100%;
  background: var(--grey-z700);
  pointer-events: none;
}
.Timeline > .timeline > .time > :is(.position, .cursor):is([data-theme=dark]) {
  box-shadow: 1px 0 0 rgba(0, 0, 0, 0.5333333333), -1px 0 0 rgba(0, 0, 0, 0.5333333333);
}
.Timeline > .timeline > .time > .cursor {
  --width: 1px;
  z-index: 100;
  background: var(--grey-o500);
}
.Timeline > .timeline > .time > .cursor:is([data-theme=dark]) {
  box-shadow: 1px 0 0 rgba(0, 0, 0, 0.2666666667), -1px 0 0 rgba(0, 0, 0, 0.2666666667);
}
.Timeline > .timeline > .time > .cursor > .tip {
  position: absolute;
  bottom: calc(100% + 1px);
  left: 1px;
  contain: content;
  display: flex;
  align-items: center;
  height: calc(var(--title-height) - 1px);
  padding: 0 var(--spacing-half);
  border-radius: var(--border-radius);
  color: var(--grey-z100);
  background: var(--grey-z700);
  font-family: var(--font-code);
  transform: translateX(-50%);
}
.Timeline > .gutter {
  z-index: 3;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--track-height);
  pointer-events: none;
}
.Timeline > .gutter:is([data-theme=light] *) {
  filter: invert(100%);
}
.Timeline > .zoom {
  z-index: 4;
  position: absolute;
  right: 0.4em;
  bottom: 0.1em;
  height: 1.2em;
  display: flex;
  align-items: center;
  color: var(--grey);
  font-size: 0.9em;
  font-family: var(--font-code);
  font-weight: bold;
}
.Timeline > .zoom:is([data-theme=dark] *) {
  text-shadow: 1px 1px var(--shadow);
}

.WaveformError {
  padding: var(--spacing);
}

.Vacant {
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
  padding: calc(var(--spacing) * 2);
  color: var(--variant-z700);
  word-break: break-word;
}
.Vacant > :is(.Icon, .Spinner) {
  display: block;
  width: 3em;
  height: 3em;
  margin: 0 auto;
}
.Vacant > h1 {
  font-size: 1.6rem;
  font-style: italic;
  text-align: center;
}
.Vacant > .content {
  font-style: italic;
  max-width: 40rem;
  margin: var(--spacing) auto;
}
.Vacant > .details {
  --padding: var(--spacing-half);
  background: var(--darken-300);
  border-radius: var(--border-radius);
}
.Vacant > .Actions {
  display: flex;
  justify-content: center;
  gap: calc(var(--spacing) / 2);
}
.Vacant > .Actions > .Button {
  --input-height: auto;
  padding: var(--spacing-half);
}

.VideoEditor {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr auto auto;
  grid-template-areas: "view controls" "timeline timeline" "mediacontrols mediacontrols";
}
.VideoEditor > .preview {
  position: relative;
  grid-area: view;
  display: flex;
  align-items: center;
  justify-content: center;
}
.VideoEditor > .preview > .Spinner {
  --size: 4rem;
}
.VideoEditor > .preview > .Preview {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
}
.VideoEditor > .controls {
  grid-area: controls;
}
.VideoEditor > .Timeline {
  grid-area: timeline;
}
.VideoEditor > .MediaControls {
  grid-area: mediacontrols;
}

.app-container {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.app-container > .App {
  width: 100%;
  height: 100%;
}
.app-container > .Spinner {
  --size: 3em;
}