UNPKG

@drovp/encode

Version:

Encode video, audio, and images into common formats.

2,057 lines (1,986 loc) 73.5 kB
@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