image-to-pixel 0.0.0-stage → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +69 -3
- package/dist/editor.css +2 -0
- package/dist/editor.css.map +7 -0
- package/dist/editor.esm.js +377 -0
- package/dist/editor.esm.js.map +7 -0
- package/dist/fonts/README.md +6 -0
- package/dist/fonts/geist-LICENSE.txt +93 -0
- package/dist/fonts/geist.woff2 +0 -0
- package/dist/fonts/jetbrains-mono.woff2 +0 -0
- package/dist/image-to-pixel.bundle.esm.js +307 -0
- package/dist/image-to-pixel.bundle.esm.js.map +7 -0
- package/dist/image-to-pixel.cjs +2506 -0
- package/dist/image-to-pixel.cjs.map +7 -0
- package/dist/image-to-pixel.esm.js +2481 -0
- package/dist/image-to-pixel.esm.js.map +7 -0
- package/dist/image-to-pixel.js +5274 -0
- package/dist/image-to-pixel.js.map +7 -0
- package/dist/image-to-pixel.min.js +307 -0
- package/dist/image-to-pixel.min.js.map +7 -0
- package/dist/video.esm.js +3 -0
- package/dist/video.esm.js.map +7 -0
- package/lib/core/color.js +69 -0
- package/lib/core/cpu/pipeline.js +21 -0
- package/lib/core/cpu/stages.js +227 -0
- package/lib/core/dither/bluenoise-data.js +3 -0
- package/lib/core/dither/kernels.js +27 -0
- package/lib/core/dither/matrices.js +95 -0
- package/lib/core/engine.js +158 -0
- package/lib/core/export/canvas.js +22 -0
- package/lib/core/export/crc32.js +15 -0
- package/lib/core/export/gif.js +153 -0
- package/lib/core/export/png.js +94 -0
- package/lib/core/export/scale.js +103 -0
- package/lib/core/export/sheet.js +95 -0
- package/lib/core/export/zip.js +55 -0
- package/lib/core/gpu/backend.js +159 -0
- package/lib/core/gpu/shaders.js +258 -0
- package/lib/core/palette/builtin.js +36 -0
- package/lib/core/palette/extract.js +69 -0
- package/lib/core/palette/lospec.js +24 -0
- package/lib/core/palette/parse.js +112 -0
- package/lib/core/plan.js +58 -0
- package/lib/core/presets.js +42 -0
- package/lib/core/settings.js +274 -0
- package/lib/core/source.js +89 -0
- package/lib/core/video/frames.js +144 -0
- package/lib/core/video/mux-mp4.js +131 -0
- package/lib/core/video/mux-webm.js +127 -0
- package/lib/editor/controls.js +139 -0
- package/lib/editor/dom.js +65 -0
- package/lib/editor/exporter.js +185 -0
- package/lib/editor/icons.js +61 -0
- package/lib/editor/index.js +793 -0
- package/lib/editor/inspector.js +328 -0
- package/lib/editor/library.js +182 -0
- package/lib/editor/persist.js +18 -0
- package/lib/editor/samples.js +90 -0
- package/lib/editor/stage.js +239 -0
- package/lib/editor/store.js +80 -0
- package/lib/editor/styles/editor.css +385 -0
- package/lib/editor/styles/fonts/README.md +6 -0
- package/lib/editor/styles/fonts/geist-LICENSE.txt +93 -0
- package/lib/editor/styles/fonts/geist.woff2 +0 -0
- package/lib/editor/styles/fonts/jetbrains-mono.woff2 +0 -0
- package/lib/editor/styles/tokens.css +89 -0
- package/lib/editor/ui.js +97 -0
- package/lib/index.js +31 -0
- package/lib/video.js +92 -0
- package/package.json +92 -6
- package/types/editor.d.ts +34 -0
- package/types/index.d.ts +196 -0
- package/types/video.d.ts +43 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023-2026 Tezumie
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,69 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# Image-to-Pixel
|
|
2
|
+
|
|
3
|
+
Turn images and video into pixel art. A free, open-source editor that runs in your browser, and the engine behind it as an npm package.
|
|
4
|
+
|
|
5
|
+
**[Open the editor](https://tezumie.github.io/Image-to-Pixel/editor/)** · [Docs](https://tezumie.github.io/Image-to-Pixel/docs/) · [Examples](https://tezumie.github.io/Image-to-Pixel/examples/) · [Classic 2.x editor](https://tezumie.github.io/Image-to-Pixel/classic/)
|
|
6
|
+
|
|
7
|
+
- **16 dither methods**: Bayer 2–16, clustered dot, blue noise, custom matrices, and Floyd–Steinberg, Atkinson, Sierra, Burkes, Jarvis and Stucki diffusion.
|
|
8
|
+
- **Palettes**: 24 built in, extracted from the image, picked by hand, or imported from .gpl, .hex, .pal, .txt, JSON and Lospec.
|
|
9
|
+
- **Batches and video**: one set of settings for many files; frame-accurate video export to GIF, WebM, MP4 or PNG sequences.
|
|
10
|
+
- **Game-ready output**: integer-scaled and indexed PNGs, sprite sheets with JSON atlases, deduplicated tilesets.
|
|
11
|
+
- **GPU first**: every step is a WebGL 2 shader pass run by [ShaderMate](https://github.com/Tezumie/ShaderMate). The CPU path gives identical pixels when WebGL isn't there, including in Node.
|
|
12
|
+
|
|
13
|
+
## Library
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm i image-to-pixel
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
```js
|
|
20
|
+
import { createPixelator } from 'image-to-pixel';
|
|
21
|
+
|
|
22
|
+
const px = await createPixelator();
|
|
23
|
+
const result = await px.process(imageElement, {
|
|
24
|
+
size: { width: 128 },
|
|
25
|
+
palette: { source: 'builtin', id: 'pico-8' },
|
|
26
|
+
dither: { method: 'floyd-steinberg', strength: 0.8 },
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
document.body.append(result.toCanvas(4));
|
|
30
|
+
const png = await result.toBlob({ scale: 4 });
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Script tag (global `ImageToPixel`):
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<script src="https://cdn.jsdelivr.net/npm/image-to-pixel@3/dist/image-to-pixel.min.js"></script>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The 2.x call, `pixelate({ image, width, dither, strength, palette, resolution })`, still works. See [Migrating](https://tezumie.github.io/Image-to-Pixel/docs/migrating/).
|
|
40
|
+
|
|
41
|
+
| Entry | |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| `image-to-pixel` | The engine, settings, palettes, encoders (PNG, GIF, ZIP), sprite sheets, tilesets, video stepping |
|
|
44
|
+
| `image-to-pixel/video` | MP4 and WebM encoding with WebCodecs |
|
|
45
|
+
| `image-to-pixel/editor` + `editor.css` | The full editor, mountable in any element |
|
|
46
|
+
|
|
47
|
+
## Development
|
|
48
|
+
|
|
49
|
+
Node 22. Every script is plain Node, so it works the same in PowerShell, bash and browser IDEs.
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npm install
|
|
53
|
+
npm run dev # http://localhost:8080/Image-to-Pixel/, rebuilds on change
|
|
54
|
+
npm test # build dist/ and _site/, then node --test
|
|
55
|
+
npm run build:site # static site in _site/ (what GitHub Pages serves)
|
|
56
|
+
npm run preview # serve _site/
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Pushing to `main` runs the tests and deploys the site with `.github/workflows/site.yml`. Set Pages to "GitHub Actions" in the repository settings.
|
|
60
|
+
|
|
61
|
+
Repository layout, tests and how to add a dither method, palette, docs page or example: [Contributing](https://tezumie.github.io/Image-to-Pixel/docs/contributing/).
|
|
62
|
+
|
|
63
|
+
The classic editor (`index.html`, `image-to-pixel.js`, `css/`, `src/`) is kept unchanged at the root and published at `/classic/`.
|
|
64
|
+
|
|
65
|
+
## Licence
|
|
66
|
+
|
|
67
|
+
MIT, see [LICENSE](LICENSE). This covers everything in the repository: the library, the editor, the site and the classic 2.x files.
|
|
68
|
+
|
|
69
|
+
Built-in palettes come from [Lospec](https://lospec.com/palette-list) and are credited to their authors in the editor. Geist and JetBrains Mono are under the SIL Open Font License.
|
package/dist/editor.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@font-face{font-family:Geist;src:url(fonts/geist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--font-ui: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 20px;--ease: cubic-bezier(.2, .7, .2, 1);--dur: .14s;color-scheme:dark;--bg: #111214;--stage: #0d0e10;--panel: #16171a;--raised: #1d1e22;--raised-2: #24252a;--line: #26272c;--line-strong: #33343a;--text: #e6e6e9;--text-2: #b4b5bc;--muted: #84868f;--faint: #5d5f68;--accent: #8f80f5;--accent-strong: #a395ff;--accent-ink: #0f0d1f;--accent-soft: rgba(143, 128, 245, .16);--ok: #5fc48a;--warn: #e3b55b;--danger: #ec6a6a;--checker-a: #1a1b1f;--checker-b: #222328;--shadow-pop: 0 10px 30px rgba(0, 0, 0, .45), 0 0 0 1px var(--line-strong);--focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}:root[data-theme=light]{color-scheme:light;--bg: #f5f5f6;--stage: #ececee;--panel: #ffffff;--raised: #f2f2f4;--raised-2: #e9e9ec;--line: #e4e4e8;--line-strong: #d4d4da;--text: #18181b;--text-2: #3f4047;--muted: #6b6d76;--faint: #9a9ca4;--accent: #6553d6;--accent-strong: #5442c4;--accent-ink: #ffffff;--accent-soft: rgba(101, 83, 214, .11);--ok: #2f9a5e;--warn: #b7841f;--danger: #cf4040;--checker-a: #e4e4e8;--checker-b: #f4f4f6;--shadow-pop: 0 12px 32px rgba(20, 20, 40, .14), 0 0 0 1px var(--line-strong)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=light]){color-scheme:light;--bg: #f5f5f6;--stage: #ececee;--panel: #ffffff;--raised: #f2f2f4;--raised-2: #e9e9ec;--line: #e4e4e8;--line-strong: #d4d4da;--text: #18181b;--text-2: #3f4047;--muted: #6b6d76;--faint: #9a9ca4;--accent: #6553d6;--accent-strong: #5442c4;--accent-ink: #ffffff;--accent-soft: rgba(101, 83, 214, .11);--ok: #2f9a5e;--warn: #b7841f;--danger: #cf4040;--checker-a: #e4e4e8;--checker-b: #f4f4f6;--shadow-pop: 0 12px 32px rgba(20, 20, 40, .14), 0 0 0 1px var(--line-strong)}}@media(prefers-reduced-motion:reduce){:root{--dur: 0ms}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.itp,.itp *{box-sizing:border-box}.itp [hidden],.itp[hidden]{display:none!important}.itp{color:var(--text);font:400 var(--fs-md)/1.45 var(--font-ui);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased}.itp-app{position:relative;height:100%;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr);grid-template-columns:var(--lib-w, 268px) minmax(0,1fr) var(--insp-w, 312px);grid-template-areas:"top top top" "lib stage insp";background:var(--bg);overflow:hidden}.itp-app[data-lib=closed]{--lib-w: 0px}.itp-app[data-insp=closed]{--insp-w: 0px}.itp button,.itp input,.itp select,.itp textarea{font:inherit;color:inherit}.itp :focus{outline:none}.itp :focus-visible{box-shadow:var(--focus);border-radius:var(--r-sm)}.itp .num,.itp output{font-variant-numeric:tabular-nums}.itp .mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:-.01em}.itp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.itp svg.i{width:16px;height:16px;max-width:none;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.itp .muted{color:var(--muted)}.itp hr{border:0;border-top:1px solid var(--line);margin:0}.itp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 10px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer;white-space:nowrap;user-select:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.itp-btn:hover{background:var(--raised);color:var(--text)}.itp-btn[aria-pressed=true]{background:var(--raised-2);color:var(--text)}.itp-btn:disabled{opacity:.4;cursor:default;background:transparent}.itp-btn.icon{width:30px;padding:0}.itp-btn.outline{border-color:var(--line-strong);color:var(--text)}.itp-btn.outline:hover{border-color:var(--faint)}.itp-btn.primary{background:var(--accent);color:var(--accent-ink);font-weight:550;padding:0 12px}.itp-btn.primary:hover{background:var(--accent-strong);color:var(--accent-ink)}.itp-btn.small{height:26px;font-size:var(--fs-sm);padding:0 8px}.itp-btn.small.icon{width:26px;padding:0}.itp-btn.block{width:100%}.itp-btn.danger:hover{color:var(--danger)}.itp-link{background:none;border:0;padding:0;color:var(--muted);cursor:pointer;font-size:var(--fs-sm);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.itp-link:hover{color:var(--text);text-decoration-color:currentColor}.itp kbd{font:500 10.5px/1 var(--font-mono);padding:3px 5px;border-radius:4px;border:1px solid var(--line-strong);color:var(--muted);background:var(--raised)}.itp-top{grid-area:top;display:flex;align-items:center;gap:4px;padding:0 10px 0 8px;border-bottom:1px solid var(--line);background:var(--panel);min-width:0}.itp-brand{display:flex;align-items:center;gap:9px;padding:0 6px;height:32px;border-radius:var(--r-sm);color:var(--text);text-decoration:none;font-weight:600;letter-spacing:-.01em}.itp-brand:hover{background:var(--raised)}.itp-mark{width:18px;height:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.itp-mark i{background:var(--text);border-radius:1px}.itp-mark i:nth-child(2),.itp-mark i:nth-child(4),.itp-mark i:nth-child(9){background:var(--accent)}.itp-mark i:nth-child(6),.itp-mark i:nth-child(7){opacity:.35}.itp-top .sep{width:1px;height:18px;background:var(--line);margin:0 6px;flex:none}.itp-file{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text-2)}.itp-file .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28ch}.itp-file .meta{color:var(--faint);white-space:nowrap}.itp-top .spacer{flex:1}.itp-zoom{min-width:64px;justify-content:space-between}.itp-top .collapse-only{display:none}.itp-top .contents{display:contents}.itp-lib,.itp-insp{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--panel);overflow:hidden}.itp-lib{grid-area:lib;border-right:1px solid var(--line)}.itp-insp{grid-area:insp;border-left:1px solid var(--line)}.itp-app[data-lib=closed] .itp-lib,.itp-app[data-insp=closed] .itp-insp{border:0;visibility:hidden}.itp-panel-head{display:flex;align-items:center;gap:8px;padding:10px 12px 8px}.itp-panel-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.itp-seg{display:inline-flex;padding:2px;gap:2px;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-md);width:100%}.itp-seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--fs-sm);white-space:nowrap}.itp-seg button:hover{color:var(--text)}.itp-seg button[aria-selected=true],.itp-seg button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:0 0 0 1px var(--line-strong)}:root[data-theme=dark] .itp-seg button[aria-selected=true],:root[data-theme=dark] .itp-seg button[aria-pressed=true]{background:var(--raised-2)}.itp-seg .count{color:var(--faint);font-variant-numeric:tabular-nums}.itp-seg.compact{width:auto}.itp-search{position:relative;margin:0 12px 8px}.itp-search svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--faint)}.itp-input,.itp-search input,.itp-select{width:100%;height:30px;padding:0 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--text);transition:border-color var(--dur) var(--ease)}.itp-search input{padding-left:30px}.itp-input:hover,.itp-select:hover,.itp-search input:hover{border-color:var(--line-strong)}.itp-input:focus-visible,.itp-select:focus-visible,.itp-search input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.itp-select{appearance:none;padding-right:26px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2384868f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.itp-select option,.itp-select optgroup{background:var(--panel);color:var(--text)}.itp textarea.itp-input{height:auto;padding:7px 9px;resize:vertical;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.5}.itp-group{padding:14px 14px 6px;font-size:var(--fs-xs);font-weight:500;color:var(--faint);letter-spacing:.01em;display:flex;align-items:center;justify-content:space-between}.itp-files{list-style:none;margin:0;padding:0 8px 8px;display:flex;flex-direction:column;gap:1px}.itp-file-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px;border-radius:var(--r-md);cursor:pointer;color:var(--text-2);border:1px solid transparent}.itp-file-row:hover{background:var(--raised);color:var(--text)}.itp-file-row[aria-current=true]{background:var(--raised-2);color:var(--text);border-color:var(--line)}.itp-file-row .thumb{width:36px;height:36px;border-radius:5px;object-fit:cover;image-rendering:pixelated;background:var(--raised-2);border:1px solid var(--line)}.itp-file-row .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itp-file-row .sub{font-size:var(--fs-xs);color:var(--faint);font-variant-numeric:tabular-nums}.itp-file-row .actions{display:flex;gap:0}.itp-file-row .actions .itp-btn{opacity:0}.itp-file-row:hover .actions .itp-btn,.itp-file-row:focus-within .actions .itp-btn,.itp-file-row[aria-current=true] .actions .itp-btn{opacity:1}.itp-file-row .sub{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}.itp-own{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-size:var(--fs-xs);white-space:nowrap}.itp-own svg.i{width:12px;height:12px}@media(hover:none){.itp-file-row .actions .itp-btn{opacity:1}}.itp-badge{display:inline-flex;align-items:center;height:18px;min-width:18px;padding:0 5px;border-radius:9px;font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--raised-2);color:var(--muted);justify-content:center}.itp-badge.accent{background:var(--accent);color:var(--accent-ink)}.itp-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.itp-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}.itp-preset{display:flex;flex-direction:column;gap:6px;padding:0 0 8px;text-align:left;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);cursor:pointer;overflow:hidden;color:var(--text-2);transition:border-color var(--dur) var(--ease)}.itp-preset:hover{border-color:var(--line-strong);color:var(--text)}.itp-preset[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.itp-preset canvas,.itp-preset .ph{width:100%;aspect-ratio:4 / 3;image-rendering:pixelated;display:block;background:var(--raised);border-bottom:1px solid var(--line);object-fit:cover}.itp-preset .t{padding:0 8px;font-size:var(--fs-sm);font-weight:500;color:var(--text)}.itp-preset .d{padding:0 8px;font-size:var(--fs-xs);color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.itp-pal-list{list-style:none;margin:0;padding:0 8px 12px;display:flex;flex-direction:column;gap:1px}.itp-pal{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:var(--r-md);cursor:pointer;border:1px solid transparent;color:var(--text-2)}.itp-pal:hover{background:var(--raised);color:var(--text)}.itp-pal[aria-pressed=true]{background:var(--raised-2);border-color:var(--line);color:var(--text)}.itp-pal .row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.itp-pal .row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itp-pal .n{font-size:var(--fs-xs);color:var(--faint);font-variant-numeric:tabular-nums}.itp-strip{display:flex;height:10px;border-radius:3px;overflow:hidden;box-shadow:inset 0 0 0 1px #7f7f7f26}.itp-strip i{flex:1}.itp-stage{grid-area:stage;position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--stage)}.itp-view{position:relative;flex:1;min-height:0;overflow:hidden;cursor:grab;touch-action:none}.itp-view.panning{cursor:grabbing}.itp-view.picking{cursor:crosshair}.itp-view canvas.screen{position:absolute;inset:0;width:100%;height:100%;display:block}.itp-split{position:absolute;top:0;bottom:0;width:0;pointer-events:none}.itp-split:before{content:"";position:absolute;top:0;bottom:0;left:-.5px;width:1px;background:#ffffffd9;box-shadow:0 0 0 1px #00000040}.itp-split button{pointer-events:auto;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;border:1px solid rgba(0,0,0,.2);background:#fff;color:#222;cursor:ew-resize;display:grid;place-items:center;box-shadow:0 2px 8px #00000040}.itp-split .lbl{position:absolute;top:12px;font-size:var(--fs-xs);padding:2px 7px;border-radius:4px;background:#0000008c;color:#fff;white-space:nowrap}.itp-split .lbl.l{right:10px}.itp-split .lbl.r{left:10px}.itp-float{position:absolute;display:flex;gap:2px;padding:3px;border-radius:var(--r-md);background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line);backdrop-filter:blur(8px)}.itp-float.br{right:12px;bottom:12px}.itp-float.bl{left:12px;bottom:12px;align-items:center;padding:3px 10px;gap:10px;color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;height:32px}.itp-float.bl b{color:var(--text-2);font-weight:500}.itp-busy{position:absolute;left:50%;top:12px;transform:translate(-50%)}.itp-empty{position:absolute;inset:0;display:grid;place-items:center;padding:24px}.itp-drop{width:min(520px,100%);padding:28px;border:1px dashed var(--line-strong);border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;background:color-mix(in srgb,var(--panel) 60%,transparent)}.itp-drop h2{margin:0;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}.itp-drop p{margin:0;color:var(--muted);max-width:46ch}.itp-drop .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.itp-drop .samples{display:flex;gap:8px;margin-top:4px}.itp-drop .samples button{width:64px;height:48px;padding:0;border-radius:var(--r-sm);border:1px solid var(--line);overflow:hidden;cursor:pointer;background:var(--raised)}.itp-drop .samples button:hover{border-color:var(--accent)}.itp-drop .samples img{width:100%;height:100%;object-fit:cover;display:block}.itp-dragging .itp-view:after{content:"Drop to add";position:absolute;inset:12px;border:2px dashed var(--accent);border-radius:var(--r-lg);display:grid;place-items:center;color:var(--text);background:var(--accent-soft);font-weight:500;pointer-events:none}.itp-transport{display:none;align-items:center;gap:8px;height:44px;padding:0 12px;border-top:1px solid var(--line);background:var(--panel)}.itp-stage[data-video=true] .itp-transport{display:flex}.itp-time{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap;min-width:108px}.itp-time span{color:var(--faint)}.itp-scrub{flex:1}.itp-insp-head{padding:12px 14px 0;display:flex;flex-direction:column;gap:10px}.itp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.itp-stat{padding:7px 10px;display:flex;flex-direction:column;gap:1px;min-width:0}.itp-stat+.itp-stat{border-left:1px solid var(--line)}.itp-stat .k{font-size:var(--fs-xs);color:var(--faint)}.itp-stat .v{font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.itp-stat .v small{font-weight:400;color:var(--muted);font-size:var(--fs-xs);margin-left:3px}.itp-sec{border-bottom:1px solid var(--line)}.itp-sec-head{display:flex;align-items:center;gap:2px;padding-right:8px}.itp-sec-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:12px 6px 12px 14px;border:0;background:none;text-align:left;cursor:pointer;user-select:none;color:var(--text)}.itp-sec-toggle .title{font-weight:550;white-space:nowrap}.itp-sec-toggle .hint{color:var(--faint);font-weight:400;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.itp-sec-toggle .chev{margin-left:auto;color:var(--faint);display:inline-flex;transition:transform var(--dur) var(--ease)}.itp-sec[data-open=true] .itp-sec-toggle .chev{transform:rotate(90deg)}.itp-sec-toggle:hover .chev{color:var(--text)}.itp-sec-toggle:focus-visible{border-radius:var(--r-sm)}.itp-sec-reset{color:var(--faint)}.itp-sec-reset:hover{color:var(--text)}.itp-sec .body{padding:0 14px 14px;display:flex;flex-direction:column;gap:12px}.itp-field{display:flex;flex-direction:column;gap:6px;min-width:0}.itp-field>.lab{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-2);font-size:var(--fs-sm)}.itp-field>.lab .val{color:var(--text);font-variant-numeric:tabular-nums}.itp .help{color:var(--faint);font-size:var(--fs-xs);line-height:1.4}.itp-row{display:flex;gap:8px;align-items:center}.itp-row>*{min-width:0}.itp-row .grow{flex:1}.itp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.itp-slider{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:8px;align-items:center}.itp-slider input[type=number]{height:26px;padding:0 6px;text-align:right;font-size:var(--fs-sm);border-radius:5px}.itp-slider input[type=number]::-webkit-inner-spin-button{opacity:.4}.itp input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer;margin:0;--p: 50%}.itp input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--p),var(--raised-2) var(--p))}.itp input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--raised-2)}.itp input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}.itp input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--text);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--line-strong)}.itp input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--text);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--line-strong)}.itp input[type=range]:focus-visible{box-shadow:none}.itp input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--accent)}.itp input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--accent)}.itp-switch{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:var(--text-2);font-size:var(--fs-sm)}.itp-switch input{appearance:none;width:28px;height:16px;border-radius:8px;background:var(--raised-2);border:1px solid var(--line-strong);position:relative;cursor:pointer;flex:none;transition:background var(--dur) var(--ease);margin:0}.itp-switch input:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--muted);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.itp-switch input:checked{background:var(--accent);border-color:var(--accent)}.itp-switch input:checked:after{transform:translate(12px);background:var(--accent-ink)}.itp-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(22px,1fr));gap:4px}.itp-swatch{aspect-ratio:1;border-radius:4px;border:0;padding:0;cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px #7f7f7f40}.itp-swatch:hover{transform:scale(1.12);z-index:1}.itp-swatch.add{background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);display:grid;place-items:center}.itp-swatch.add:hover{color:var(--text)}.itp-color{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px 0 4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);cursor:pointer}.itp-color input[type=color]{width:22px;height:22px;padding:0;border:0;border-radius:4px;background:none;cursor:pointer}.itp-color input[type=color]::-webkit-color-swatch-wrapper{padding:0}.itp-color input[type=color]::-webkit-color-swatch{border:0;border-radius:4px;box-shadow:inset 0 0 0 1px #7f7f7f4d}.itp-color input[type=color]::-moz-color-swatch{border:0;border-radius:4px}.itp-scope{display:flex;flex-direction:column;gap:6px}.itp-scope .lab{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);color:var(--text-2)}.itp-scope-note{color:var(--faint);font-size:var(--fs-xs)}.itp-insp[data-scope=own] .itp-scope-note{color:var(--accent)}.itp-insp[data-scope=own] .itp-scope .itp-seg button[aria-pressed=true]{box-shadow:0 0 0 1px var(--accent);color:var(--text)}.itp-aspects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.itp-aspects button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:52px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--muted);cursor:pointer;font-size:var(--fs-xs)}.itp-aspects button:hover{border-color:var(--line-strong);color:var(--text)}.itp-aspects button[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.itp-aspects i{display:block;border:1.5px solid currentColor;border-radius:2px}.itp-aspects i.orig{border-style:dashed}.itp-insp-foot{padding:12px 14px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line)}.itp-menu{position:fixed;z-index:50;min-width:240px;max-width:calc(100vw - 16px);padding:5px;border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-pop);display:flex;flex-direction:column}.itp-menu[hidden]{display:none}.itp-menu .mi{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;border-radius:var(--r-sm);border:0;background:none;text-align:left;cursor:pointer;color:var(--text-2)}.itp-menu .mi:hover,.itp-menu .mi:focus-visible{background:var(--raised);color:var(--text);box-shadow:none}.itp-menu .mi:disabled{opacity:.4;cursor:default;background:none}.itp-menu .mi small{display:block;color:var(--faint);font-size:var(--fs-xs)}.itp-menu .mlabel{padding:8px 9px 4px;font-size:var(--fs-xs);color:var(--faint)}.itp-menu hr{margin:5px 4px}.itp-dialog{border:0;padding:0;border-radius:var(--r-lg);background:var(--panel);color:var(--text);box-shadow:var(--shadow-pop);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 48px)}.itp-dialog::backdrop{background:#00000073}.itp-dialog header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.itp-dialog header h2{margin:0;font-size:var(--fs-lg);font-weight:600}.itp-dialog .content{padding:14px 16px 16px;display:flex;flex-direction:column;gap:14px;overflow:auto}.itp-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.itp-keys{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}.itp-keys div{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);color:var(--text-2)}.itp-keys div span:last-child{display:flex;gap:3px}.itp-toasts{position:fixed;z-index:60;left:50%;bottom:20px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.itp-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:240px;max-width:min(520px,calc(100vw - 24px));padding:9px 10px 9px 12px;border-radius:var(--r-md);background:var(--raised);color:var(--text);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);animation:itp-in .16s var(--ease)}.itp-toast .msg{flex:1}.itp-toast.error .itp-dot{background:var(--danger)}.itp-toast.ok .itp-dot{background:var(--ok)}.itp-toast.info .itp-dot{background:var(--accent)}.itp-progress{height:3px;border-radius:2px;background:var(--raised-2);overflow:hidden;margin-top:6px}.itp-progress i{display:block;height:100%;background:var(--accent);width:0;transition:width .12s linear}@keyframes itp-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.itp-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:itp-spin .7s linear infinite}@keyframes itp-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.itp-app{--lib-w: 232px;--insp-w: 288px}}@media(max-width:900px){.itp-app{grid-template-columns:0 minmax(0,1fr) var(--insp-w, 288px)}.itp-lib{position:absolute;z-index:30;top:0;bottom:0;left:0;width:280px;box-shadow:var(--shadow-pop);transform:translate(-100%);transition:transform .18s var(--ease);visibility:hidden}.itp-app[data-lib=open] .itp-lib{transform:none;visibility:visible}.itp-top .collapse-only{display:inline-flex}.itp-file .meta{display:none}}@media(max-width:680px){.itp-app{grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr) auto;grid-template-areas:"top" "stage" "insp"}.itp-insp{border-left:0;border-top:1px solid var(--line);max-height:46vh}.itp-app[data-insp=closed] .itp-insp{max-height:0}.itp-top .hide-sm{display:none}.itp-file .name{max-width:14ch}.itp-float.bl{display:none}}
|
|
2
|
+
/*# sourceMappingURL=editor.css.map */
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../lib/editor/styles/tokens.css", "../lib/editor/styles/editor.css"],
|
|
4
|
+
"sourcesContent": ["/* Design tokens shared by the editor and the site. Dark is the default; light via\r\n [data-theme=\"light\"] or the OS preference when no explicit theme is set. */\r\n\r\n@font-face { font-family: \"Geist\"; src: url(\"fonts/geist.woff2\") format(\"woff2\"); font-weight: 100 900; font-style: normal; font-display: swap; }\r\n@font-face { font-family: \"JetBrains Mono\"; src: url(\"fonts/jetbrains-mono.woff2\") format(\"woff2\"); font-weight: 100 800; font-style: normal; font-display: swap; }\r\n\r\n:root {\r\n --font-ui: \"Geist\", system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\r\n --font-mono: \"JetBrains Mono\", ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace;\r\n\r\n --r-sm: 6px;\r\n --r-md: 8px;\r\n --r-lg: 10px;\r\n\r\n --fs-xs: 11px;\r\n --fs-sm: 12px;\r\n --fs-md: 13px;\r\n --fs-lg: 15px;\r\n --fs-xl: 20px;\r\n\r\n --ease: cubic-bezier(.2, .7, .2, 1);\r\n --dur: 140ms;\r\n\r\n /* dark */\r\n color-scheme: dark;\r\n --bg: #111214;\r\n --stage: #0d0e10;\r\n --panel: #16171a;\r\n --raised: #1d1e22;\r\n --raised-2: #24252a;\r\n --line: #26272c;\r\n --line-strong: #33343a;\r\n --text: #e6e6e9;\r\n --text-2: #b4b5bc;\r\n --muted: #84868f;\r\n --faint: #5d5f68;\r\n --accent: #8f80f5;\r\n --accent-strong: #a395ff;\r\n --accent-ink: #0f0d1f;\r\n --accent-soft: rgba(143, 128, 245, 0.16);\r\n --ok: #5fc48a;\r\n --warn: #e3b55b;\r\n --danger: #ec6a6a;\r\n --checker-a: #1a1b1f;\r\n --checker-b: #222328;\r\n --shadow-pop: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 0 1px var(--line-strong);\r\n --focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);\r\n}\r\n\r\n:root[data-theme=\"light\"] {\r\n color-scheme: light;\r\n --bg: #f5f5f6;\r\n --stage: #ececee;\r\n --panel: #ffffff;\r\n --raised: #f2f2f4;\r\n --raised-2: #e9e9ec;\r\n --line: #e4e4e8;\r\n --line-strong: #d4d4da;\r\n --text: #18181b;\r\n --text-2: #3f4047;\r\n --muted: #6b6d76;\r\n --faint: #9a9ca4;\r\n --accent: #6553d6;\r\n --accent-strong: #5442c4;\r\n --accent-ink: #ffffff;\r\n --accent-soft: rgba(101, 83, 214, 0.11);\r\n --ok: #2f9a5e;\r\n --warn: #b7841f;\r\n --danger: #cf4040;\r\n --checker-a: #e4e4e8;\r\n --checker-b: #f4f4f6;\r\n --shadow-pop: 0 12px 32px rgba(20, 20, 40, 0.14), 0 0 0 1px var(--line-strong);\r\n}\r\n\r\n@media (prefers-color-scheme: light) {\r\n :root:not([data-theme=\"dark\"]):not([data-theme=\"light\"]) {\r\n color-scheme: light;\r\n --bg: #f5f5f6; --stage: #ececee; --panel: #ffffff; --raised: #f2f2f4; --raised-2: #e9e9ec;\r\n --line: #e4e4e8; --line-strong: #d4d4da; --text: #18181b; --text-2: #3f4047; --muted: #6b6d76; --faint: #9a9ca4;\r\n --accent: #6553d6; --accent-strong: #5442c4; --accent-ink: #ffffff; --accent-soft: rgba(101, 83, 214, 0.11);\r\n --ok: #2f9a5e; --warn: #b7841f; --danger: #cf4040; --checker-a: #e4e4e8; --checker-b: #f4f4f6;\r\n --shadow-pop: 0 12px 32px rgba(20, 20, 40, 0.14), 0 0 0 1px var(--line-strong);\r\n }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n :root { --dur: 0ms; }\r\n *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }\r\n}\r\n", "@import \"./tokens.css\";\r\n\r\n/* ---- base -------------------------------------------------------------- */\r\n.itp, .itp * { box-sizing: border-box; }\r\n.itp [hidden], .itp[hidden] { display: none !important; }\r\n.itp {\r\n color: var(--text);\r\n font: 400 var(--fs-md)/1.45 var(--font-ui);\r\n font-feature-settings: \"ss01\", \"cv11\";\r\n -webkit-font-smoothing: antialiased;\r\n}\r\n.itp-app {\r\n position: relative;\r\n height: 100%;\r\n min-height: 0;\r\n display: grid;\r\n grid-template-rows: 48px minmax(0, 1fr);\r\n grid-template-columns: var(--lib-w, 268px) minmax(0, 1fr) var(--insp-w, 312px);\r\n grid-template-areas: \"top top top\" \"lib stage insp\";\r\n background: var(--bg);\r\n overflow: hidden;\r\n}\r\n.itp-app[data-lib=\"closed\"] { --lib-w: 0px; }\r\n.itp-app[data-insp=\"closed\"] { --insp-w: 0px; }\r\n.itp button, .itp input, .itp select, .itp textarea { font: inherit; color: inherit; }\r\n.itp :focus { outline: none; }\r\n.itp :focus-visible { box-shadow: var(--focus); border-radius: var(--r-sm); }\r\n.itp .num, .itp output { font-variant-numeric: tabular-nums; }\r\n.itp .mono { font-family: var(--font-mono); font-size: 0.92em; letter-spacing: -0.01em; }\r\n.itp .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }\r\n.itp svg.i { width: 16px; height: 16px; max-width: none; flex: none; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }\r\n.itp .muted { color: var(--muted); }\r\n.itp hr { border: 0; border-top: 1px solid var(--line); margin: 0; }\r\n\r\n/* ---- buttons ----------------------------------------------------------- */\r\n.itp-btn {\r\n display: inline-flex; align-items: center; justify-content: center; gap: 6px;\r\n height: 30px; padding: 0 10px;\r\n border: 1px solid transparent; border-radius: var(--r-sm);\r\n background: transparent; color: var(--text-2);\r\n cursor: pointer; white-space: nowrap; user-select: none;\r\n transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);\r\n}\r\n.itp-btn:hover { background: var(--raised); color: var(--text); }\r\n.itp-btn[aria-pressed=\"true\"] { background: var(--raised-2); color: var(--text); }\r\n.itp-btn:disabled { opacity: 0.4; cursor: default; background: transparent; }\r\n.itp-btn.icon { width: 30px; padding: 0; }\r\n.itp-btn.outline { border-color: var(--line-strong); color: var(--text); }\r\n.itp-btn.outline:hover { border-color: var(--faint); }\r\n.itp-btn.primary { background: var(--accent); color: var(--accent-ink); font-weight: 550; padding: 0 12px; }\r\n.itp-btn.primary:hover { background: var(--accent-strong); color: var(--accent-ink); }\r\n.itp-btn.small { height: 26px; font-size: var(--fs-sm); padding: 0 8px; }\r\n.itp-btn.small.icon { width: 26px; padding: 0; }\r\n.itp-btn.block { width: 100%; }\r\n.itp-btn.danger:hover { color: var(--danger); }\r\n.itp-link { background: none; border: 0; padding: 0; color: var(--muted); cursor: pointer; font-size: var(--fs-sm); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }\r\n.itp-link:hover { color: var(--text); text-decoration-color: currentColor; }\r\n.itp kbd { font: 500 10.5px/1 var(--font-mono); padding: 3px 5px; border-radius: 4px; border: 1px solid var(--line-strong); color: var(--muted); background: var(--raised); }\r\n\r\n/* ---- top bar ----------------------------------------------------------- */\r\n.itp-top {\r\n grid-area: top;\r\n display: flex; align-items: center; gap: 4px;\r\n padding: 0 10px 0 8px;\r\n border-bottom: 1px solid var(--line);\r\n background: var(--panel);\r\n min-width: 0;\r\n}\r\n.itp-brand { display: flex; align-items: center; gap: 9px; padding: 0 6px; height: 32px; border-radius: var(--r-sm); color: var(--text); text-decoration: none; font-weight: 600; letter-spacing: -0.01em; }\r\n.itp-brand:hover { background: var(--raised); }\r\n.itp-mark { width: 18px; height: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; }\r\n.itp-mark i { background: var(--text); border-radius: 1px; }\r\n.itp-mark i:nth-child(2), .itp-mark i:nth-child(4), .itp-mark i:nth-child(9) { background: var(--accent); }\r\n.itp-mark i:nth-child(6), .itp-mark i:nth-child(7) { opacity: 0.35; }\r\n.itp-top .sep { width: 1px; height: 18px; background: var(--line); margin: 0 6px; flex: none; }\r\n.itp-file { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--text-2); }\r\n.itp-file .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 28ch; }\r\n.itp-file .meta { color: var(--faint); white-space: nowrap; }\r\n.itp-top .spacer { flex: 1; }\r\n.itp-zoom { min-width: 64px; justify-content: space-between; }\r\n.itp-top .collapse-only { display: none; }\r\n.itp-top .contents { display: contents; }\r\n\r\n/* ---- side panels ------------------------------------------------------- */\r\n.itp-lib, .itp-insp {\r\n min-width: 0; min-height: 0;\r\n display: flex; flex-direction: column;\r\n background: var(--panel);\r\n overflow: hidden;\r\n}\r\n.itp-lib { grid-area: lib; border-right: 1px solid var(--line); }\r\n.itp-insp { grid-area: insp; border-left: 1px solid var(--line); }\r\n.itp-app[data-lib=\"closed\"] .itp-lib, .itp-app[data-insp=\"closed\"] .itp-insp { border: 0; visibility: hidden; }\r\n.itp-panel-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px 8px; }\r\n.itp-panel-body { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }\r\n\r\n/* tabs: segmented control */\r\n.itp-seg {\r\n display: inline-flex; padding: 2px; gap: 2px;\r\n background: var(--raised); border: 1px solid var(--line); border-radius: var(--r-md);\r\n width: 100%;\r\n}\r\n.itp-seg button {\r\n flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px;\r\n height: 26px; padding: 0 8px; border: 0; border-radius: var(--r-sm);\r\n background: transparent; color: var(--muted); cursor: pointer; font-size: var(--fs-sm); white-space: nowrap;\r\n}\r\n.itp-seg button:hover { color: var(--text); }\r\n.itp-seg button[aria-selected=\"true\"], .itp-seg button[aria-pressed=\"true\"] { background: var(--panel); color: var(--text); box-shadow: 0 0 0 1px var(--line-strong); }\r\n:root[data-theme=\"dark\"] .itp-seg button[aria-selected=\"true\"], :root[data-theme=\"dark\"] .itp-seg button[aria-pressed=\"true\"] { background: var(--raised-2); }\r\n.itp-seg .count { color: var(--faint); font-variant-numeric: tabular-nums; }\r\n.itp-seg.compact { width: auto; }\r\n\r\n/* search field */\r\n.itp-search { position: relative; margin: 0 12px 8px; }\r\n.itp-search svg { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); color: var(--faint); }\r\n.itp-input, .itp-search input, .itp-select {\r\n width: 100%; height: 30px; padding: 0 9px;\r\n border: 1px solid var(--line); border-radius: var(--r-sm);\r\n background: var(--bg); color: var(--text);\r\n transition: border-color var(--dur) var(--ease);\r\n}\r\n.itp-search input { padding-left: 30px; }\r\n.itp-input:hover, .itp-select:hover, .itp-search input:hover { border-color: var(--line-strong); }\r\n.itp-input:focus-visible, .itp-select:focus-visible, .itp-search input:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }\r\n.itp-select { appearance: none; padding-right: 26px; cursor: pointer;\r\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2384868f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");\r\n background-repeat: no-repeat; background-position: right 8px center; }\r\n.itp-select option, .itp-select optgroup { background: var(--panel); color: var(--text); }\r\n.itp textarea.itp-input { height: auto; padding: 7px 9px; resize: vertical; font-family: var(--font-mono); font-size: var(--fs-sm); line-height: 1.5; }\r\n\r\n/* group labels in lists */\r\n.itp-group { padding: 14px 14px 6px; font-size: var(--fs-xs); font-weight: 500; color: var(--faint); letter-spacing: 0.01em; display: flex; align-items: center; justify-content: space-between; }\r\n\r\n/* library: files */\r\n.itp-files { list-style: none; margin: 0; padding: 0 8px 8px; display: flex; flex-direction: column; gap: 1px; }\r\n.itp-file-row {\r\n display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px;\r\n padding: 6px 6px; border-radius: var(--r-md); cursor: pointer; color: var(--text-2);\r\n border: 1px solid transparent;\r\n}\r\n.itp-file-row:hover { background: var(--raised); color: var(--text); }\r\n.itp-file-row[aria-current=\"true\"] { background: var(--raised-2); color: var(--text); border-color: var(--line); }\r\n.itp-file-row .thumb { width: 36px; height: 36px; border-radius: 5px; object-fit: cover; image-rendering: pixelated; background: var(--raised-2); border: 1px solid var(--line); }\r\n.itp-file-row .title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\r\n.itp-file-row .sub { font-size: var(--fs-xs); color: var(--faint); font-variant-numeric: tabular-nums; }\r\n.itp-file-row .actions { display: flex; gap: 0; }\r\n.itp-file-row .actions .itp-btn { opacity: 0; }\r\n.itp-file-row:hover .actions .itp-btn, .itp-file-row:focus-within .actions .itp-btn, .itp-file-row[aria-current=\"true\"] .actions .itp-btn { opacity: 1; }\r\n.itp-file-row .sub { display: flex; align-items: center; gap: 8px; white-space: nowrap; overflow: hidden; }\r\n.itp-own { display: inline-flex; align-items: center; gap: 3px; color: var(--accent); font-size: var(--fs-xs); white-space: nowrap; }\r\n.itp-own svg.i { width: 12px; height: 12px; }\r\n@media (hover: none) { .itp-file-row .actions .itp-btn { opacity: 1; } }\r\n.itp-badge { display: inline-flex; align-items: center; height: 18px; min-width: 18px; padding: 0 5px; border-radius: 9px; font-size: 10.5px; font-weight: 600; font-variant-numeric: tabular-nums; background: var(--raised-2); color: var(--muted); justify-content: center; }\r\n.itp-badge.accent { background: var(--accent); color: var(--accent-ink); }\r\n.itp-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; flex: none; }\r\n\r\n/* library: presets grid */\r\n.itp-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 12px 12px; }\r\n.itp-preset {\r\n display: flex; flex-direction: column; gap: 6px; padding: 0 0 8px; text-align: left;\r\n border: 1px solid var(--line); border-radius: var(--r-md); background: var(--bg); cursor: pointer; overflow: hidden; color: var(--text-2);\r\n transition: border-color var(--dur) var(--ease);\r\n}\r\n.itp-preset:hover { border-color: var(--line-strong); color: var(--text); }\r\n.itp-preset[aria-pressed=\"true\"] { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }\r\n.itp-preset canvas, .itp-preset .ph { width: 100%; aspect-ratio: 4 / 3; image-rendering: pixelated; display: block; background: var(--raised); border-bottom: 1px solid var(--line); object-fit: cover; }\r\n.itp-preset .t { padding: 0 8px; font-size: var(--fs-sm); font-weight: 500; color: var(--text); }\r\n.itp-preset .d { padding: 0 8px; font-size: var(--fs-xs); color: var(--muted); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\r\n\r\n/* palette lists */\r\n.itp-pal-list { list-style: none; margin: 0; padding: 0 8px 12px; display: flex; flex-direction: column; gap: 1px; }\r\n.itp-pal {\r\n display: flex; flex-direction: column; gap: 6px; padding: 8px; border-radius: var(--r-md); cursor: pointer; border: 1px solid transparent; color: var(--text-2);\r\n}\r\n.itp-pal:hover { background: var(--raised); color: var(--text); }\r\n.itp-pal[aria-pressed=\"true\"] { background: var(--raised-2); border-color: var(--line); color: var(--text); }\r\n.itp-pal .row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }\r\n.itp-pal .row span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\r\n.itp-pal .n { font-size: var(--fs-xs); color: var(--faint); font-variant-numeric: tabular-nums; }\r\n.itp-strip { display: flex; height: 10px; border-radius: 3px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(127, 127, 127, 0.15); }\r\n.itp-strip i { flex: 1; }\r\n\r\n/* ---- stage ------------------------------------------------------------- */\r\n.itp-stage { grid-area: stage; position: relative; min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--stage); }\r\n.itp-view { position: relative; flex: 1; min-height: 0; overflow: hidden; cursor: grab; touch-action: none; }\r\n.itp-view.panning { cursor: grabbing; }\r\n.itp-view.picking { cursor: crosshair; }\r\n.itp-view canvas.screen { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }\r\n.itp-split {\r\n position: absolute; top: 0; bottom: 0; width: 0; pointer-events: none;\r\n}\r\n.itp-split::before { content: \"\"; position: absolute; top: 0; bottom: 0; left: -0.5px; width: 1px; background: rgba(255, 255, 255, 0.85); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25); }\r\n.itp-split button {\r\n pointer-events: auto; position: absolute; top: 50%; left: 0; transform: translate(-50%, -50%);\r\n width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.2); background: #fff; color: #222; cursor: ew-resize;\r\n display: grid; place-items: center; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);\r\n}\r\n.itp-split .lbl { position: absolute; top: 12px; font-size: var(--fs-xs); padding: 2px 7px; border-radius: 4px; background: rgba(0, 0, 0, 0.55); color: #fff; white-space: nowrap; }\r\n.itp-split .lbl.l { right: 10px; } .itp-split .lbl.r { left: 10px; }\r\n\r\n/* floating view controls */\r\n.itp-float { position: absolute; display: flex; gap: 2px; padding: 3px; border-radius: var(--r-md); background: color-mix(in srgb, var(--panel) 88%, transparent); border: 1px solid var(--line); backdrop-filter: blur(8px); }\r\n.itp-float.br { right: 12px; bottom: 12px; }\r\n.itp-float.bl { left: 12px; bottom: 12px; align-items: center; padding: 3px 10px; gap: 10px; color: var(--muted); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; height: 32px; }\r\n.itp-float.bl b { color: var(--text-2); font-weight: 500; }\r\n.itp-busy { position: absolute; left: 50%; top: 12px; transform: translateX(-50%); }\r\n\r\n/* empty state */\r\n.itp-empty { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; }\r\n.itp-drop {\r\n width: min(520px, 100%); padding: 28px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg);\r\n display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; background: color-mix(in srgb, var(--panel) 60%, transparent);\r\n}\r\n.itp-drop h2 { margin: 0; font-size: var(--fs-lg); font-weight: 600; letter-spacing: -0.01em; }\r\n.itp-drop p { margin: 0; color: var(--muted); max-width: 46ch; }\r\n.itp-drop .actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }\r\n.itp-drop .samples { display: flex; gap: 8px; margin-top: 4px; }\r\n.itp-drop .samples button { width: 64px; height: 48px; padding: 0; border-radius: var(--r-sm); border: 1px solid var(--line); overflow: hidden; cursor: pointer; background: var(--raised); }\r\n.itp-drop .samples button:hover { border-color: var(--accent); }\r\n.itp-drop .samples img { width: 100%; height: 100%; object-fit: cover; display: block; }\r\n.itp-dragging .itp-view::after {\r\n content: \"Drop to add\"; position: absolute; inset: 12px; border: 2px dashed var(--accent); border-radius: var(--r-lg);\r\n display: grid; place-items: center; color: var(--text); background: var(--accent-soft); font-weight: 500; pointer-events: none;\r\n}\r\n\r\n/* transport (video) */\r\n.itp-transport { display: none; align-items: center; gap: 8px; height: 44px; padding: 0 12px; border-top: 1px solid var(--line); background: var(--panel); }\r\n.itp-stage[data-video=\"true\"] .itp-transport { display: flex; }\r\n.itp-time { font-variant-numeric: tabular-nums; color: var(--text-2); font-size: var(--fs-sm); white-space: nowrap; min-width: 108px; }\r\n.itp-time span { color: var(--faint); }\r\n.itp-scrub { flex: 1; }\r\n\r\n/* ---- inspector --------------------------------------------------------- */\r\n.itp-insp-head { padding: 12px 14px 0; display: flex; flex-direction: column; gap: 10px; }\r\n.itp-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; }\r\n.itp-stat { padding: 7px 10px; display: flex; flex-direction: column; gap: 1px; min-width: 0; }\r\n.itp-stat + .itp-stat { border-left: 1px solid var(--line); }\r\n.itp-stat .k { font-size: var(--fs-xs); color: var(--faint); }\r\n.itp-stat .v { font-weight: 550; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\r\n.itp-stat .v small { font-weight: 400; color: var(--muted); font-size: var(--fs-xs); margin-left: 3px; }\r\n\r\n.itp-sec { border-bottom: 1px solid var(--line); }\r\n.itp-sec-head { display: flex; align-items: center; gap: 2px; padding-right: 8px; }\r\n.itp-sec-toggle {\r\n flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; padding: 12px 6px 12px 14px;\r\n border: 0; background: none; text-align: left; cursor: pointer; user-select: none; color: var(--text);\r\n}\r\n.itp-sec-toggle .title { font-weight: 550; white-space: nowrap; }\r\n.itp-sec-toggle .hint { color: var(--faint); font-weight: 400; font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }\r\n.itp-sec-toggle .chev { margin-left: auto; color: var(--faint); display: inline-flex; transition: transform var(--dur) var(--ease); }\r\n.itp-sec[data-open=\"true\"] .itp-sec-toggle .chev { transform: rotate(90deg); }\r\n.itp-sec-toggle:hover .chev { color: var(--text); }\r\n.itp-sec-toggle:focus-visible { border-radius: var(--r-sm); }\r\n.itp-sec-reset { color: var(--faint); }\r\n.itp-sec-reset:hover { color: var(--text); }\r\n.itp-sec .body { padding: 0 14px 14px; display: flex; flex-direction: column; gap: 12px; }\r\n\r\n.itp-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }\r\n.itp-field > .lab { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--text-2); font-size: var(--fs-sm); }\r\n.itp-field > .lab .val { color: var(--text); font-variant-numeric: tabular-nums; }\r\n.itp .help { color: var(--faint); font-size: var(--fs-xs); line-height: 1.4; }\r\n.itp-row { display: flex; gap: 8px; align-items: center; }\r\n.itp-row > * { min-width: 0; }\r\n.itp-row .grow { flex: 1; }\r\n.itp-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }\r\n\r\n/* slider with value */\r\n.itp-slider { display: grid; grid-template-columns: minmax(0, 1fr) 56px; gap: 8px; align-items: center; }\r\n.itp-slider input[type=\"number\"] { height: 26px; padding: 0 6px; text-align: right; font-size: var(--fs-sm); border-radius: 5px; }\r\n.itp-slider input[type=\"number\"]::-webkit-inner-spin-button { opacity: 0.4; }\r\n.itp input[type=\"range\"] {\r\n -webkit-appearance: none; appearance: none; width: 100%; height: 20px; background: transparent; cursor: pointer; margin: 0;\r\n --p: 50%;\r\n}\r\n.itp input[type=\"range\"]::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: linear-gradient(to right, var(--accent) var(--p), var(--raised-2) var(--p)); }\r\n.itp input[type=\"range\"]::-moz-range-track { height: 4px; border-radius: 2px; background: var(--raised-2); }\r\n.itp input[type=\"range\"]::-moz-range-progress { height: 4px; border-radius: 2px; background: var(--accent); }\r\n.itp input[type=\"range\"]::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; margin-top: -5px; border-radius: 50%; background: var(--text); border: 3px solid var(--panel); box-shadow: 0 0 0 1px var(--line-strong); }\r\n.itp input[type=\"range\"]::-moz-range-thumb { width: 10px; height: 10px; border-radius: 50%; background: var(--text); border: 3px solid var(--panel); box-shadow: 0 0 0 1px var(--line-strong); }\r\n.itp input[type=\"range\"]:focus-visible { box-shadow: none; }\r\n.itp input[type=\"range\"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 2px var(--accent); }\r\n.itp input[type=\"range\"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 2px var(--accent); }\r\n\r\n/* switch */\r\n.itp-switch { display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; color: var(--text-2); font-size: var(--fs-sm); }\r\n.itp-switch input { appearance: none; width: 28px; height: 16px; border-radius: 8px; background: var(--raised-2); border: 1px solid var(--line-strong); position: relative; cursor: pointer; flex: none; transition: background var(--dur) var(--ease); margin: 0; }\r\n.itp-switch input::after { content: \"\"; position: absolute; top: 2px; left: 2px; width: 10px; height: 10px; border-radius: 50%; background: var(--muted); transition: transform var(--dur) var(--ease), background var(--dur) var(--ease); }\r\n.itp-switch input:checked { background: var(--accent); border-color: var(--accent); }\r\n.itp-switch input:checked::after { transform: translateX(12px); background: var(--accent-ink); }\r\n\r\n/* swatches */\r\n.itp-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(22px, 1fr)); gap: 4px; }\r\n.itp-swatch { aspect-ratio: 1; border-radius: 4px; border: 0; padding: 0; cursor: pointer; position: relative; box-shadow: inset 0 0 0 1px rgba(127, 127, 127, 0.25); }\r\n.itp-swatch:hover { transform: scale(1.12); z-index: 1; }\r\n.itp-swatch.add { background: transparent; box-shadow: inset 0 0 0 1px var(--line-strong); color: var(--muted); display: grid; place-items: center; }\r\n.itp-swatch.add:hover { color: var(--text); }\r\n.itp-color { display: flex; align-items: center; gap: 8px; height: 30px; padding: 0 8px 0 4px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg); cursor: pointer; }\r\n.itp-color input[type=\"color\"] { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 4px; background: none; cursor: pointer; }\r\n.itp-color input[type=\"color\"]::-webkit-color-swatch-wrapper { padding: 0; }\r\n.itp-color input[type=\"color\"]::-webkit-color-swatch { border: 0; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(127, 127, 127, 0.3); }\r\n.itp-color input[type=\"color\"]::-moz-color-swatch { border: 0; border-radius: 4px; }\r\n\r\n.itp-scope { display: flex; flex-direction: column; gap: 6px; }\r\n.itp-scope .lab { display: flex; justify-content: space-between; align-items: center; font-size: var(--fs-sm); color: var(--text-2); }\r\n.itp-scope-note { color: var(--faint); font-size: var(--fs-xs); }\r\n.itp-insp[data-scope=\"own\"] .itp-scope-note { color: var(--accent); }\r\n.itp-insp[data-scope=\"own\"] .itp-scope .itp-seg button[aria-pressed=\"true\"] { box-shadow: 0 0 0 1px var(--accent); color: var(--text); }\r\n\r\n.itp-aspects { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }\r\n.itp-aspects button {\r\n display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; height: 52px;\r\n border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg); color: var(--muted); cursor: pointer; font-size: var(--fs-xs);\r\n}\r\n.itp-aspects button:hover { border-color: var(--line-strong); color: var(--text); }\r\n.itp-aspects button[aria-pressed=\"true\"] { border-color: var(--accent); color: var(--text); background: var(--accent-soft); }\r\n.itp-aspects i { display: block; border: 1.5px solid currentColor; border-radius: 2px; }\r\n.itp-aspects i.orig { border-style: dashed; }\r\n\r\n.itp-insp-foot { padding: 12px 14px 14px; display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid var(--line); }\r\n\r\n/* ---- popovers, dialogs, toasts ---------------------------------------- */\r\n.itp-menu {\r\n position: fixed; z-index: 50; min-width: 240px; max-width: calc(100vw - 16px); padding: 5px; border-radius: var(--r-lg);\r\n background: var(--panel); box-shadow: var(--shadow-pop); display: flex; flex-direction: column;\r\n}\r\n.itp-menu[hidden] { display: none; }\r\n.itp-menu .mi {\r\n display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 9px; border-radius: var(--r-sm);\r\n border: 0; background: none; text-align: left; cursor: pointer; color: var(--text-2);\r\n}\r\n.itp-menu .mi:hover, .itp-menu .mi:focus-visible { background: var(--raised); color: var(--text); box-shadow: none; }\r\n.itp-menu .mi:disabled { opacity: 0.4; cursor: default; background: none; }\r\n.itp-menu .mi small { display: block; color: var(--faint); font-size: var(--fs-xs); }\r\n.itp-menu .mlabel { padding: 8px 9px 4px; font-size: var(--fs-xs); color: var(--faint); }\r\n.itp-menu hr { margin: 5px 4px; }\r\n\r\n.itp-dialog { border: 0; padding: 0; border-radius: var(--r-lg); background: var(--panel); color: var(--text); box-shadow: var(--shadow-pop); width: min(560px, calc(100vw - 24px)); max-height: calc(100vh - 48px); }\r\n.itp-dialog::backdrop { background: rgba(0, 0, 0, 0.45); }\r\n.itp-dialog header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); }\r\n.itp-dialog header h2 { margin: 0; font-size: var(--fs-lg); font-weight: 600; }\r\n.itp-dialog .content { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 14px; overflow: auto; }\r\n.itp-dialog footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); }\r\n.itp-keys { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 24px; }\r\n.itp-keys div { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line); color: var(--text-2); }\r\n.itp-keys div span:last-child { display: flex; gap: 3px; }\r\n\r\n.itp-toasts { position: fixed; z-index: 60; left: 50%; bottom: 20px; transform: translateX(-50%); display: flex; flex-direction: column; gap: 8px; align-items: center; pointer-events: none; }\r\n.itp-toast {\r\n pointer-events: auto; display: flex; align-items: center; gap: 10px; min-width: 240px; max-width: min(520px, calc(100vw - 24px));\r\n padding: 9px 10px 9px 12px; border-radius: var(--r-md); background: var(--raised); color: var(--text); box-shadow: var(--shadow-pop); font-size: var(--fs-sm);\r\n animation: itp-in 160ms var(--ease);\r\n}\r\n.itp-toast .msg { flex: 1; }\r\n.itp-toast.error .itp-dot { background: var(--danger); }\r\n.itp-toast.ok .itp-dot { background: var(--ok); }\r\n.itp-toast.info .itp-dot { background: var(--accent); }\r\n.itp-progress { height: 3px; border-radius: 2px; background: var(--raised-2); overflow: hidden; margin-top: 6px; }\r\n.itp-progress i { display: block; height: 100%; background: var(--accent); width: 0; transition: width 120ms linear; }\r\n@keyframes itp-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }\r\n\r\n.itp-spinner { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--line-strong); border-top-color: var(--accent); animation: itp-spin 700ms linear infinite; }\r\n@keyframes itp-spin { to { transform: rotate(360deg); } }\r\n\r\n/* ---- responsive -------------------------------------------------------- */\r\n@media (max-width: 1100px) {\r\n .itp-app { --lib-w: 232px; --insp-w: 288px; }\r\n}\r\n@media (max-width: 900px) {\r\n /* tablet: library becomes an overlay drawer */\r\n .itp-app { grid-template-columns: 0 minmax(0, 1fr) var(--insp-w, 288px); }\r\n .itp-lib { position: absolute; z-index: 30; top: 0; bottom: 0; left: 0; width: 280px; box-shadow: var(--shadow-pop); transform: translateX(-100%); transition: transform 180ms var(--ease); visibility: hidden; }\r\n .itp-app[data-lib=\"open\"] .itp-lib { transform: none; visibility: visible; }\r\n .itp-top .collapse-only { display: inline-flex; }\r\n .itp-file .meta { display: none; }\r\n}\r\n@media (max-width: 680px) {\r\n /* phone: stage on top, inspector as a bottom sheet */\r\n .itp-app { grid-template-columns: minmax(0, 1fr); grid-template-rows: 48px minmax(0, 1fr) auto; grid-template-areas: \"top\" \"stage\" \"insp\"; }\r\n .itp-insp { border-left: 0; border-top: 1px solid var(--line); max-height: 46vh; }\r\n .itp-app[data-insp=\"closed\"] .itp-insp { max-height: 0; }\r\n .itp-top .hide-sm { display: none; }\r\n .itp-file .name { max-width: 14ch; }\r\n .itp-float.bl { display: none; }\r\n}\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|