@drovp/encode
Version:
Encode video, audio, and images into common formats.
2,057 lines (1,986 loc) • 73.5 kB
CSS
@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.0313725