@autoaiai/aicut 0.1.7 → 0.1.11
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/MANUAL.md +10 -0
- package/package.json +1 -1
- package/product.json +2 -1
- package/skills/30x-web-to-video/SKILL.md +421 -0
- package/skills/30x-web-to-video/examples/INDEX.md +26 -0
- package/skills/30x-web-to-video/references/animations.md +539 -0
- package/skills/30x-web-to-video/references/audio.md +256 -0
- package/skills/30x-web-to-video/references/components.md +340 -0
- package/skills/30x-web-to-video/references/lottie.md +174 -0
- package/skills/30x-web-to-video/references/visual-effects.md +157 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +169 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +120 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +154 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +38 -0
- package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +152 -0
- package/skills/3d-asset-generation/SKILL.md +142 -0
- package/skills/action-fight-prompt/SKILL.md +136 -0
- package/skills/action-fight-prompt/references/camera-and-impact.md +64 -0
- package/skills/action-fight-prompt/references/example-15s-duel.md +59 -0
- package/skills/action-fight-prompt/references/scene-patterns.md +80 -0
- package/skills/ad-creative-video/SKILL.md +205 -0
- package/skills/ad-creative-video/references/batch-ad-pipeline.md +289 -0
- package/skills/ad-creative-video/references/platform-specs.md +72 -0
- package/skills/after-effects/SKILL.md +123 -0
- package/skills/after-effects/references/export-recipes.md +168 -0
- package/skills/after-effects/references/expression-library.md +184 -0
- package/skills/after-effects/references/expressions.md +134 -0
- package/skills/after-effects/references/performance-triage.md +138 -0
- package/skills/after-effects/references/project-hygiene.md +188 -0
- package/skills/ai-media-quality-review/SKILL.md +72 -0
- package/skills/ai-product-video/SKILL.md +296 -0
- package/skills/ai-product-video/references/aesthetic-rules.md +177 -0
- package/skills/ai-product-video/references/final-review.md +110 -0
- package/skills/ai-product-video/references/guided-free-creation.md +194 -0
- package/skills/ai-product-video/references/music-beat-sync.md +219 -0
- package/skills/ai-product-video/references/pipeline.md +392 -0
- package/skills/ai-product-video/references/sequences/promo-energy-arc.md +50 -0
- package/skills/ai-product-video/references/shots/ATTRIBUTION.md +65 -0
- package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +39 -0
- package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +38 -0
- package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +40 -0
- package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +57 -0
- package/skills/aicut/SKILL.md +4 -4
- package/skills/aicut/references/commands.md +15 -15
- package/skills/aicut/references/film-format.md +1 -1
- package/skills/aicut/references/recipes.md +4 -4
- package/skills/aicut/references/troubleshooting.md +2 -2
- package/skills/aicut-motion/SKILL.md +6 -6
- package/skills/aicut-motion/references/design-systems/README.md +1 -1
- package/skills/aicut-motion/references/pages.md +1 -1
- package/skills/anidoodle/SKILL.md +185 -0
- package/skills/anidoodle/references/anatomy.md +91 -0
- package/skills/anidoodle/references/backends-and-adapters.md +82 -0
- package/skills/anidoodle/references/camera.md +148 -0
- package/skills/anidoodle/references/craft-bar.md +72 -0
- package/skills/anidoodle/references/determinism-and-contract.md +46 -0
- package/skills/anidoodle/references/formats.md +121 -0
- package/skills/anidoodle/references/motion-grammar.md +234 -0
- package/skills/anidoodle/references/music/compose.md +388 -0
- package/skills/anidoodle/references/music/sound-design.md +245 -0
- package/skills/anidoodle/references/music/sounds-licenses.md +69 -0
- package/skills/anidoodle/references/music/styles/lofi-electronic.md +112 -0
- package/skills/anidoodle/references/music/styles/music-box.md +57 -0
- package/skills/animated-component-libraries/SKILL.md +820 -0
- package/skills/animated-component-libraries/references/customization_guide.md +699 -0
- package/skills/animated-component-libraries/references/magic_ui_components.md +422 -0
- package/skills/animated-component-libraries/references/react_bits_components.md +587 -0
- package/skills/animated-infographic/SKILL.md +211 -0
- package/skills/animated-infographic/references/sequenced-infographic.md +286 -0
- package/skills/appshot-core/SKILL.md +872 -0
- package/skills/article-highlights/SKILL.md +151 -0
- package/skills/avatar-mix/SKILL.md +301 -0
- package/skills/bang-motion/SKILL.md +583 -0
- package/skills/bang-motion/references/ae-bridge-higgsfield.md +160 -0
- package/skills/bang-motion/references/anti-ppt.md +110 -0
- package/skills/bang-motion/references/architecture.md +188 -0
- package/skills/bang-motion/references/explainer.md +579 -0
- package/skills/bang-motion/references/kartun-panggung.md +221 -0
- package/skills/bang-motion/references/opener-konsep.md +817 -0
- package/skills/bang-motion/references/roadmap.md +85 -0
- package/skills/bang-motion/references/techniques.md +690 -0
- package/skills/beat-sync-edit/SKILL.md +148 -0
- package/skills/book-video-factory/SKILL.md +139 -0
- package/skills/book-video-factory/references/first-run.md +50 -0
- package/skills/book-video-factory/references/paper-collage-explainer.md +127 -0
- package/skills/book-video-factory/references/quality-gates.md +87 -0
- package/skills/book-video-production/SKILL.md +211 -0
- package/skills/brag/SKILL.md +195 -0
- package/skills/brag/references/audio.md +312 -0
- package/skills/brag/references/step-1-inspect.md +125 -0
- package/skills/brag/references/step-2-plan.md +234 -0
- package/skills/brag/references/step-3-compose.md +199 -0
- package/skills/brag/references/step-4-deliver.md +141 -0
- package/skills/brag/references/tones.md +231 -0
- package/skills/brand-setup/SKILL.md +228 -0
- package/skills/brewreel/SKILL.md +491 -0
- package/skills/brewreel/docs/broll.en.md +252 -0
- package/skills/brewreel/docs/broll.md +252 -0
- package/skills/brewreel/docs/custom-shot.en.md +66 -0
- package/skills/brewreel/docs/custom-shot.md +103 -0
- package/skills/brewreel/docs/faq.en.md +90 -0
- package/skills/brewreel/docs/faq.md +90 -0
- package/skills/brewreel/docs/features.en.md +157 -0
- package/skills/brewreel/docs/features.md +157 -0
- package/skills/brewreel/docs/gallery.en.md +44 -0
- package/skills/brewreel/docs/gallery.md +44 -0
- package/skills/brewreel/docs/how-it-works.en.md +64 -0
- package/skills/brewreel/docs/how-it-works.md +64 -0
- package/skills/caption-animation/SKILL.md +216 -0
- package/skills/caption-animation/references/word-timed-captions.md +254 -0
- package/skills/cartcut-editing/SKILL.md +615 -0
- package/skills/cartcut-editing/references/html-typography.md +277 -0
- package/skills/cassette-video-edit/SKILL.md +129 -0
- package/skills/ccvideo/SKILL.md +264 -0
- package/skills/chekhov-dramaturgy/SKILL.md +367 -0
- package/skills/chekhov-dramaturgy/reference.md +375 -0
- package/skills/chengfeng-check-updates/SKILL.md +283 -0
- package/skills/cinematic-product-promo-skill/SKILL.md +295 -0
- package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +187 -0
- package/skills/cinematic-product-promo-skill/references/final-review.md +116 -0
- package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +199 -0
- package/skills/cinematic-product-promo-skill/references/jianying-export.md +183 -0
- package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +257 -0
- package/skills/cinematic-product-promo-skill/references/pipeline.md +393 -0
- package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +50 -0
- package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +65 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +39 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +38 -0
- package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +40 -0
- package/skills/claude-gif/SKILL.md +211 -0
- package/skills/claude-gif/references/gif-optimization.md +209 -0
- package/skills/claude-gif/references/perfect-loops.md +295 -0
- package/skills/claude-gif/references/platform-specs.md +138 -0
- package/skills/claude-gif/references/prompt-engineering.md +211 -0
- package/skills/claude-gif/references/remotion-gif.md +560 -0
- package/skills/codex-video-pipeline/SKILL.md +213 -0
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +10 -0
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +22 -0
- package/skills/codex-video-pipeline/references/captions.md +39 -0
- package/skills/codex-video-pipeline/references/cover-system.md +72 -0
- package/skills/codex-video-pipeline/references/cross-platform.md +77 -0
- package/skills/codex-video-pipeline/references/example-run.md +54 -0
- package/skills/codex-video-pipeline/references/first-run.md +130 -0
- package/skills/codex-video-pipeline/references/project-contract.md +54 -0
- package/skills/codex-video-pipeline/references/quality-gates.md +44 -0
- package/skills/codex-video-pipeline/references/research-and-script.md +50 -0
- package/skills/collage-broll-explainers/SKILL.md +429 -0
- package/skills/create-onboarding-video/SKILL.md +233 -0
- package/skills/cs-shotcraft-skill/SKILL.md +218 -0
- package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +207 -0
- package/skills/cs-shotcraft-skill/references/camera-table.md +88 -0
- package/skills/cs-shotcraft-skill/references/engineering.md +132 -0
- package/skills/cs-shotcraft-skill/references/final-review.md +118 -0
- package/skills/cs-shotcraft-skill/references/guided-free-creation.md +199 -0
- package/skills/cs-shotcraft-skill/references/jianying-export.md +183 -0
- package/skills/cs-shotcraft-skill/references/music-beat-sync.md +257 -0
- package/skills/cs-shotcraft-skill/references/pipeline.md +408 -0
- package/skills/cs-shotcraft-skill/references/product-machine.md +56 -0
- package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +50 -0
- package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +65 -0
- package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/cut-video/SKILL.md +387 -0
- package/skills/cyxj-hyperframes-overlay/SKILL.md +75 -0
- package/skills/cyxj-remotion-evolve/SKILL.md +123 -0
- package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +123 -0
- package/skills/demo-video-creation-skill/SKILL.md +152 -0
- package/skills/demo-video-creation-skill/references/capture-workflow.md +74 -0
- package/skills/demo-video-creation-skill/references/qc-checklist.md +61 -0
- package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +94 -0
- package/skills/demo-video-creation-skill/references/storytelling.md +86 -0
- package/skills/demo-video-creation-skill/references/visual-system.md +83 -0
- package/skills/demoday/SKILL.md +148 -0
- package/skills/develop-premiere-pro-mcp/SKILL.md +131 -0
- package/skills/diagram-animation/SKILL.md +200 -0
- package/skills/diagram-animation/references/diagram-and-chart-recipes.md +218 -0
- package/skills/diagram-tour/SKILL.md +287 -0
- package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +78 -0
- package/skills/docvideoer/SKILL.md +139 -0
- package/skills/draftcut/SKILL.md +104 -0
- package/skills/draftcut/docs/agent-bootstrap.md +64 -0
- package/skills/draftcut/docs/approvals.md +45 -0
- package/skills/draftcut/docs/audio-first-migration.md +35 -0
- package/skills/draftcut/docs/configuration.md +54 -0
- package/skills/draftcut/docs/getting-started.md +63 -0
- package/skills/draftcut/docs/harness-case-study.en.md +23 -0
- package/skills/draftcut/docs/harness-case-study.md +47 -0
- package/skills/draftcut/references/01-plan.md +30 -0
- package/skills/draftcut/references/03-deliver.md +26 -0
- package/skills/draftcut/references/04-reference-theme-prompt.md +7 -0
- package/skills/draftcut/references/05-social-loudness.md +58 -0
- package/skills/draftcut/references/06-modern-components.md +72 -0
- package/skills/easyedit/SKILL.md +66 -0
- package/skills/erduo-broll-loop-engineering/SKILL.md +136 -0
- package/skills/erduo-broll-loop-engineering/references/animation-craft.md +208 -0
- package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +107 -0
- package/skills/erduo-broll-loop-engineering/references/handoff-template.md +70 -0
- package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +122 -0
- package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +171 -0
- package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +322 -0
- package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +334 -0
- package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +76 -0
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +174 -0
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +135 -0
- package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +7 -0
- package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +65 -0
- package/skills/explainer-assets/SKILL.md +98 -0
- package/skills/explainer-video/SKILL.md +146 -0
- package/skills/framewright/SKILL.md +324 -0
- package/skills/framewright/references/audio.md +230 -0
- package/skills/framewright/references/guide.md +276 -0
- package/skills/framewright/references/painting.md +425 -0
- package/skills/framewright/references/photo.md +75 -0
- package/skills/framewright/references/questionnaire.md +115 -0
- package/skills/framewright/references/styles.md +388 -0
- package/skills/framewright/references/troubleshooting.md +119 -0
- package/skills/framewright/references/world.md +215 -0
- package/skills/gbro-collage-broll/SKILL.md +435 -0
- package/skills/gbro-collage-info/SKILL.md +135 -0
- package/skills/gbro-collage-info/references/motion-grammar.md +66 -0
- package/skills/gbro-collage-info/references/production.md +67 -0
- package/skills/gbro-collage-info/references/style-system.md +38 -0
- package/skills/gemini-tts/SKILL.md +208 -0
- package/skills/gemini-tts/references/prompting-guide.md +169 -0
- package/skills/gen/SKILL.md +282 -0
- package/skills/ghost-editor/SKILL.md +437 -0
- package/skills/ghost-editor/docs/HOW-IT-WORKS.md +82 -0
- package/skills/ghost-editor/docs/PLAYBOOK.md +139 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +17 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +13 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +20 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +17 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +22 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +22 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +20 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/models.md +11 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +13 -0
- package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +15 -0
- package/skills/git-story-film/SKILL.md +220 -0
- package/skills/git-story-film/examples/raven-story/FONTS.md +8 -0
- package/skills/git-story-film/examples/raven-story/OUTLINE.md +93 -0
- package/skills/git-story-film/references/craft.md +148 -0
- package/skills/git-story-film/references/directing.md +185 -0
- package/skills/git-story-film/references/forms.md +150 -0
- package/skills/git-story-film/references/production.md +150 -0
- package/skills/git-story-film/references/story.md +137 -0
- package/skills/git-story-film/references/text-and-fonts.md +90 -0
- package/skills/guizang-product-video-skill/SKILL.md +96 -0
- package/skills/guizang-product-video-skill/references/audio-and-qa.md +113 -0
- package/skills/guizang-product-video-skill/references/audio-sourcing.md +80 -0
- package/skills/guizang-product-video-skill/references/case-study.md +63 -0
- package/skills/guizang-product-video-skill/references/component-pipeline.md +86 -0
- package/skills/guizang-product-video-skill/references/cover.md +43 -0
- package/skills/guizang-product-video-skill/references/direction.md +91 -0
- package/skills/guizang-product-video-skill/references/onboarding.md +98 -0
- package/skills/guizang-product-video-skill/references/repo-and-style.md +44 -0
- package/skills/guizang-product-video-skill/references/review.md +38 -0
- package/skills/guizang-product-video-skill/references/starter.md +168 -0
- package/skills/guizang-product-video-skill/references/story-and-copy.md +88 -0
- package/skills/guizang-product-video-skill/references/visual-vocabulary.md +78 -0
- package/skills/guofeng-paper-video/SKILL.md +159 -0
- package/skills/guofeng-paper-video/style/design.md +43 -0
- package/skills/guofeng-paper-video/style/palette.md +21 -0
- package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +19 -0
- package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +37 -0
- package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +27 -0
- package/skills/guofeng-paper-video/style//345/210/206/351/225/234/344/270/216/345/233/276/345/261/202/350/247/204/350/214/203.md +67 -0
- package/skills/guofeng-paper-video/style//347/272/270/347/211/207/347/264/240/346/235/220/350/247/204/350/214/203.md +29 -0
- package/skills/hand-drawn-explainer-video-nikola/SKILL.md +113 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +18 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +22 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +28 -0
- package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +35 -0
- package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +24 -0
- package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +67 -0
- package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +79 -0
- package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +49 -0
- package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +82 -0
- package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +39 -0
- package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +30 -0
- package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +37 -0
- package/skills/hbg-life-simulation/SKILL.md +285 -0
- package/skills/hbg-life-simulation/references/image-generation.md +53 -0
- package/skills/hbg-life-simulation/references/local-account-api.md +112 -0
- package/skills/hbg-life-simulation/references/opening-system.md +45 -0
- package/skills/hbg-life-simulation/references/project-spec.md +62 -0
- package/skills/hbg-life-simulation/references/render-and-qa.md +107 -0
- package/skills/hbg-life-simulation/references/storyboarding.md +69 -0
- package/skills/hbg-life-simulation/references/style-system.md +80 -0
- package/skills/hbg-life-simulation/references/visual-system.md +44 -0
- package/skills/heygen-avatar/SKILL.md +489 -0
- package/skills/heygen-avatar/references/asset-routing.md +86 -0
- package/skills/heygen-avatar/references/avatar-creation.md +181 -0
- package/skills/heygen-avatar/references/troubleshooting.md +137 -0
- package/skills/heytea-doodle-poster/SKILL.md +132 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +103 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +122 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +106 -0
- package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +264 -0
- package/skills/heytea-doodle-poster/references/evaluation.md +246 -0
- package/skills/heytea-doodle-poster/references/lettering-guide.md +213 -0
- package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +101 -0
- package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +56 -0
- package/skills/heytea-doodle-poster/references/style-guide.md +412 -0
- package/skills/heytea-doodle-poster-hosted/SKILL.md +132 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +103 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +122 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +106 -0
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +264 -0
- package/skills/heytea-doodle-poster-hosted/references/evaluation.md +246 -0
- package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +213 -0
- package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +101 -0
- package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +56 -0
- package/skills/heytea-doodle-poster-hosted/references/style-guide.md +412 -0
- package/skills/html2video/SKILL.md +290 -0
- package/skills/html2video/references/cjk-type.md +173 -0
- package/skills/html2video/references/editorial.md +145 -0
- package/skills/html2video/references/narration.md +111 -0
- package/skills/html2video/references/pitfalls.md +238 -0
- package/skills/html2video/references/shots.md +198 -0
- package/skills/html2video/references/storyboard.md +323 -0
- package/skills/hyperdirector/SKILL.md +202 -0
- package/skills/hyperdirector/docs/audio-workflow.md +160 -0
- package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +244 -0
- package/skills/hyperdirector/docs/brand-kit-setup.md +322 -0
- package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +277 -0
- package/skills/hyperdirector/docs/cursor-development-notes.md +474 -0
- package/skills/hyperdirector/docs/faq.md +285 -0
- package/skills/hyperdirector/docs/faq.zh-CN.md +198 -0
- package/skills/hyperdirector/docs/first-video.md +320 -0
- package/skills/hyperdirector/docs/first-video.zh-CN.md +265 -0
- package/skills/hyperdirector/docs/installation.md +254 -0
- package/skills/hyperdirector/docs/installation.zh-CN.md +222 -0
- package/skills/hyperdirector/docs/quickstart.md +203 -0
- package/skills/hyperframes/SKILL.md +117 -0
- package/skills/hyperframes/references/captions.md +46 -0
- package/skills/hyperframes/references/film.md +48 -0
- package/skills/hyperframes/references/format.md +158 -0
- package/skills/hyperframes/references/look.md +69 -0
- package/skills/hyperframes/references/motion.md +95 -0
- package/skills/hyperframes/references/overlays.md +39 -0
- package/skills/hyperframes/references/review.md +51 -0
- package/skills/hyperframes/references/runtimes.md +69 -0
- package/skills/hyperframes/references/skill-lifecycle.md +49 -0
- package/skills/hyperframes/references/sound.md +43 -0
- package/skills/hyperframes/references/spec.md +76 -0
- package/skills/hyperframes/references/story.md +103 -0
- package/skills/hyperframes-motion-director/SKILL.md +920 -0
- package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +185 -0
- package/skills/hyperframes-motion-director/references/audio-sync.md +83 -0
- package/skills/hyperframes-motion-director/references/design-engineering.md +156 -0
- package/skills/hyperframes-motion-director/references/gsap-choreography.md +202 -0
- package/skills/hyperframes-motion-director/references/hyperframes-stability.md +99 -0
- package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +227 -0
- package/skills/hyperframes-motion-director/references/motion-background-system.md +165 -0
- package/skills/hyperframes-motion-director/references/motion-craft.md +182 -0
- package/skills/hyperframes-motion-director/references/premium-product-promo.md +287 -0
- package/skills/hyperframes-motion-director/references/text-over-background-layout.md +221 -0
- package/skills/hyperframes-motion-director/references/visual-standard.md +174 -0
- package/skills/hyperframes-motion-director/references/workflow.md +320 -0
- package/skills/hypit/SKILL.md +367 -0
- package/skills/hypit/references/creation/brief.md +93 -0
- package/skills/hypit/references/creation/script-and-time.md +259 -0
- package/skills/hypit/references/creation/transformations.md +143 -0
- package/skills/hypit/references/playbooks/craft/b-roll.md +94 -0
- package/skills/hypit/references/playbooks/craft/caption-tracking.md +126 -0
- package/skills/hypit/references/playbooks/craft/captions.md +253 -0
- package/skills/hypit/references/playbooks/craft/generated-dependencies.md +38 -0
- package/skills/hypit/references/playbooks/craft/graphic-compositions.md +85 -0
- package/skills/hypit/references/playbooks/craft/motion-graphics.md +68 -0
- package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +51 -0
- package/skills/hypit/references/playbooks/craft/sound-mix.md +70 -0
- package/skills/hypit/references/playbooks/formats/narration-led-demo.md +87 -0
- package/skills/image/SKILL.md +153 -0
- package/skills/image/references/characters.md +86 -0
- package/skills/image/references/creative-direction.md +137 -0
- package/skills/image/references/de-slop.md +95 -0
- package/skills/image/references/dimensional.md +88 -0
- package/skills/image/references/editing.md +112 -0
- package/skills/image/references/golden-rules.md +198 -0
- package/skills/image/references/gpt-image.md +228 -0
- package/skills/image/references/models.md +78 -0
- package/skills/image/references/multi-panel.md +354 -0
- package/skills/image/references/nano-banana.md +150 -0
- package/skills/image/references/patterns/character-design.md +150 -0
- package/skills/image/references/patterns/ecommerce.md +124 -0
- package/skills/image-smixs/SKILL.md +153 -0
- package/skills/image-smixs/references/characters.md +86 -0
- package/skills/image-smixs/references/creative-direction.md +137 -0
- package/skills/image-smixs/references/de-slop.md +95 -0
- package/skills/image-smixs/references/dimensional.md +88 -0
- package/skills/image-smixs/references/editing.md +112 -0
- package/skills/image-smixs/references/golden-rules.md +198 -0
- package/skills/image-smixs/references/gpt-image.md +228 -0
- package/skills/image-smixs/references/models.md +78 -0
- package/skills/image-smixs/references/multi-panel.md +354 -0
- package/skills/image-smixs/references/nano-banana.md +150 -0
- package/skills/image-smixs/references/patterns/character-design.md +150 -0
- package/skills/image-smixs/references/patterns/ecommerce.md +124 -0
- package/skills/image-story-video-wizard/SKILL.md +148 -0
- package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +29 -0
- package/skills/image-story-video-wizard/references/host-routing.md +44 -0
- package/skills/image-story-video-wizard/references/state-schema.md +79 -0
- package/skills/image-story-video-wizard/references/workflow.md +203 -0
- package/skills/image-story-video-wizard/references/writing-and-review.md +60 -0
- package/skills/ip-as-logo/SKILL.md +151 -0
- package/skills/ip-as-logo-s1dashu/SKILL.md +151 -0
- package/skills/jtxvideo-skill/SKILL.md +337 -0
- package/skills/kinetic-reel/SKILL.md +140 -0
- package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +51 -0
- package/skills/kinetic-reel/references/sound.md +40 -0
- package/skills/kinetic-reel/references/style-guide.md +79 -0
- package/skills/knowledge-explainer-skill/SKILL.md +149 -0
- package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +61 -0
- package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +20 -0
- package/skills/knowledge-explainer-skill/examples/before_after_demo.md +38 -0
- package/skills/knowledge-explainer-skill/examples/cta_outro.md +11 -0
- package/skills/knowledge-explainer-skill/examples/double_pendulum.md +20 -0
- package/skills/knowledge-explainer-skill/examples/paper_fold.md +20 -0
- package/skills/knowledge-explainer-skill/examples/script.md +40 -0
- package/skills/lanshu-create-ai-presenter-video/SKILL.md +253 -0
- package/skills/lanshu-create-ai-presenter-video/references/editing.md +67 -0
- package/skills/lanshu-create-ai-presenter-video/references/generation.md +94 -0
- package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +83 -0
- package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +189 -0
- package/skills/laoxu-video-script/SKILL.md +117 -0
- package/skills/laoxu-video-script/references/cases.md +305 -0
- package/skills/laoxu-video-script/references/de-ai.md +32 -0
- package/skills/laoxu-video-script/references/diagnostics.md +67 -0
- package/skills/laoxu-video-script/references/format.md +62 -0
- package/skills/laoxu-video-script/references/formulas.md +43 -0
- package/skills/laoxu-video-script/references/method.md +115 -0
- package/skills/laoxu-video-script/references/motifs-and-lines.md +829 -0
- package/skills/laoxu-video-script/references/persona.md +38 -0
- package/skills/laoxu-video-script/references/qihao-path.md +35 -0
- package/skills/laoxu-video-script/references/qihao-xinfa.md +39 -0
- package/skills/laoxu-video-script/references/redlines.md +26 -0
- package/skills/lemo-opuscar/SKILL.md +67 -0
- package/skills/lipnardo/SKILL.md +308 -0
- package/skills/lipnardo/examples/batch-personalized.md +44 -0
- package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +56 -0
- package/skills/lipnardo/examples/single-video.md +44 -0
- package/skills/lipnardo/references/avatar-types.md +42 -0
- package/skills/lipnardo/references/credit-costs.md +39 -0
- package/skills/lipnardo/references/error-codes.md +66 -0
- package/skills/lipnardo/references/heygen-api-reference.md +416 -0
- package/skills/ll-video-decomposer/SKILL.md +105 -0
- package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +44 -0
- package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +41 -0
- package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +48 -0
- package/skills/ll-video-decomposer/references/single-video-report-template.md +47 -0
- package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +30 -0
- package/skills/ll-video-decomposer/references/transcription-routing.md +65 -0
- package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +30 -0
- package/skills/ltx2-video/SKILL.md +193 -0
- package/skills/ltx2-video/references/mode_ux.md +293 -0
- package/skills/make-ai-short/SKILL.md +130 -0
- package/skills/make-blender-education-video/SKILL.md +247 -0
- package/skills/make-blender-education-video/references/evidence-and-explanation.md +62 -0
- package/skills/make-blender-education-video/references/github-workflow-discovery.md +55 -0
- package/skills/make-blender-education-video/references/production-workflow.md +62 -0
- package/skills/make-blender-education-video/references/story-patterns.md +65 -0
- package/skills/make-blender-education-video/references/visual-quality.md +82 -0
- package/skills/manage-storyboard-projects/SKILL.md +128 -0
- package/skills/manim-composer/SKILL.md +176 -0
- package/skills/manim-composer/references/narrative-patterns.md +125 -0
- package/skills/manim-composer/references/scene-examples.md +216 -0
- package/skills/manim-composer/references/visual-techniques.md +223 -0
- package/skills/manim-composer/templates/scenes-template.md +147 -0
- package/skills/monet-ai-editor-monet/SKILL.md +367 -0
- package/skills/motion-graphics/SKILL.md +206 -0
- package/skills/motion-graphics/references/craft.md +136 -0
- package/skills/motion-graphics/references/engine.md +130 -0
- package/skills/motion-graphics/references/export.md +67 -0
- package/skills/motion-graphics/references/physics.md +100 -0
- package/skills/motion-graphics/references/verify.md +124 -0
- package/skills/motion-video/SKILL.md +133 -0
- package/skills/motion-video/references/audio-and-beat-sync.md +109 -0
- package/skills/motion-video/references/composition-contract.md +107 -0
- package/skills/motion-video/references/production-pipeline.md +147 -0
- package/skills/motion-video/references/style-comic-spiderverse.md +87 -0
- package/skills/motion-video/references/style-glass-keynote.md +69 -0
- package/skills/motion-video-maker/SKILL.md +1452 -0
- package/skills/motion-video-maker/reference/components.md +451 -0
- package/skills/motion-video-maker/reference/workflow.md +190 -0
- package/skills/motioncraft/SKILL.md +221 -0
- package/skills/motioncraft/references/animation-system.md +57 -0
- package/skills/motioncraft/references/assets-and-licensing.md +21 -0
- package/skills/motioncraft/references/customization.md +52 -0
- package/skills/motioncraft/references/gpu-cloud-render.md +15 -0
- package/skills/motioncraft/references/music.md +43 -0
- package/skills/motioncraft/references/phase1-planning-and-preview.md +74 -0
- package/skills/motioncraft/references/phase2-timeline-audio.md +33 -0
- package/skills/motioncraft/references/phase3-pixel-review.md +13 -0
- package/skills/motioncraft/references/phase4-templates.md +30 -0
- package/skills/motioncraft/references/preflight.md +27 -0
- package/skills/motioncraft/references/qa.md +53 -0
- package/skills/motioncraft/references/reference-analysis.md +37 -0
- package/skills/narrator-ai-cli/SKILL.md +256 -0
- package/skills/narrator-ai-cli/references/magic-video.md +205 -0
- package/skills/narrator-ai-cli/references/operations.md +230 -0
- package/skills/narrator-ai-cli/references/resources.md +126 -0
- package/skills/narrator-ai-cli/references/workflows.md +332 -0
- package/skills/newcut-video-clipping/SKILL.md +194 -0
- package/skills/newcut-video-clipping/references/examples.md +59 -0
- package/skills/newcut-video-clipping/references/provider-config.md +110 -0
- package/skills/newcut-video-clipping/references/quality-check.md +35 -0
- package/skills/newcut-video-clipping/references/semantic-plan.md +65 -0
- package/skills/notes-to-video/SKILL.md +476 -0
- package/skills/openchatcut/SKILL.md +100 -0
- package/skills/openchatcut/references/editing-workflow.md +54 -0
- package/skills/openchatcut/references/getting-started.md +106 -0
- package/skills/openchatcut/references/known-errors.md +62 -0
- package/skills/openstoryline-install/SKILL.md +228 -0
- package/skills/orca-motion/SKILL.md +100 -0
- package/skills/orca-motion/references/api.md +100 -0
- package/skills/orca-motion/references/integration.md +59 -0
- package/skills/orca-motion/references/kinetic-type.md +59 -0
- package/skills/orca-motion/references/principles.md +76 -0
- package/skills/package-talking-head-video/SKILL.md +90 -0
- package/skills/package-talking-head-video/docs/EXAMPLES.md +18 -0
- package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +29 -0
- package/skills/package-talking-head-video/docs/USAGE.md +83 -0
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +144 -0
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +1099 -0
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +154 -0
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +365 -0
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +56 -0
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +8 -0
- package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +34 -0
- package/skills/package-talking-head-video/references/director-rules.md +29 -0
- package/skills/package-talking-head-video/references/motion-and-illustration.md +25 -0
- package/skills/paper-cut/SKILL.md +164 -0
- package/skills/paper-cut/references/asset-spec.md +47 -0
- package/skills/paper-cut/references/audio-and-chatcut.md +26 -0
- package/skills/paper-cut/references/hyperframes-assembly.md +47 -0
- package/skills/paper-cut/references/image-led-production.md +65 -0
- package/skills/paper-cut/references/storyboard-schema.md +48 -0
- package/skills/paper-cut/references/workflow.md +39 -0
- package/skills/personal-ip-brand-intro/SKILL.md +216 -0
- package/skills/personal-ip-brand-intro/references/intake-schema.md +79 -0
- package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +40 -0
- package/skills/personal-ip-brand-intro/references/originality-rules.md +42 -0
- package/skills/personal-ip-brand-intro/references/qa-checklist.md +60 -0
- package/skills/personal-ip-brand-intro/references/rhythm-routing.md +41 -0
- package/skills/personal-ip-brand-intro/references/storyboard-contract.md +42 -0
- package/skills/pixel2motion/SKILL.md +279 -0
- package/skills/pixel2motion/references/html-delivery-template.md +42 -0
- package/skills/pixel2motion/references/motion-personality.md +109 -0
- package/skills/pixel2motion/references/reveal-patterns.md +163 -0
- package/skills/pixel2motion/references/ribbon-fitting.md +90 -0
- package/skills/pixel2motion/references/twelve-principles-for-logos.md +116 -0
- package/skills/premiere-batch-delivery/SKILL.md +71 -0
- package/skills/premiere-pro-mcp/SKILL.md +161 -0
- package/skills/promo-creator-skills/SKILL.md +209 -0
- package/skills/promo-creator-skills/references/mureka_prompt_guide.md +251 -0
- package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +100 -0
- package/skills/promo-video/SKILL.md +408 -0
- package/skills/qisi-video-remix/SKILL.md +134 -0
- package/skills/qisi-video-remix/examples/creative-plan.md +133 -0
- package/skills/qisi-video-remix/references/delivery-guide.md +63 -0
- package/skills/reel-video/SKILL.md +237 -0
- package/skills/remotion-ad-video/SKILL.md +252 -0
- package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +60 -0
- package/skills/remotion-ad-video/references/ad-brief-contract.md +235 -0
- package/skills/remotion-ad-video/references/ad-exemplars.md +186 -0
- package/skills/remotion-ad-video/references/ad-intake.md +54 -0
- package/skills/remotion-ad-video/references/asset-harvest.md +56 -0
- package/skills/remotion-ad-video/references/audio-caption-system.md +202 -0
- package/skills/remotion-ad-video/references/concept-contract.md +128 -0
- package/skills/remotion-ad-video/references/creative-direction.md +146 -0
- package/skills/remotion-ad-video/references/fast-test-workflow.md +86 -0
- package/skills/remotion-ad-video/references/game-ad-patterns.md +75 -0
- package/skills/remotion-ad-video/references/hyperframes-output.md +90 -0
- package/skills/remotion-ad-video/references/industry-angle-library.md +71 -0
- package/skills/remotion-ads/SKILL.md +278 -0
- package/skills/remotion-ads/references/ad-copywriting.md +229 -0
- package/skills/remotion-ads/references/animations.md +693 -0
- package/skills/remotion-ads/references/brand-config-template.md +355 -0
- package/skills/remotion-ads/references/captions.md +529 -0
- package/skills/remotion-ads/references/carousels.md +580 -0
- package/skills/remotion-ads/references/components.md +897 -0
- package/skills/remotion-ads/references/copy-frameworks.md +144 -0
- package/skills/remotion-ads/references/formats.md +436 -0
- package/skills/remotion-ads/references/gemini-tts.md +473 -0
- package/skills/remotion-ads/references/html-in-canvas.md +555 -0
- package/skills/remotion-ads/references/local-assets.md +543 -0
- package/skills/remotion-ads/references/music.md +656 -0
- package/skills/remotion-code-motion-explainer/SKILL.md +178 -0
- package/skills/remotion-code-motion-explainer/references/code-motion-design.md +86 -0
- package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +93 -0
- package/skills/remotion-code-motion-explainer/references/production-and-qc.md +99 -0
- package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +48 -0
- package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +62 -0
- package/skills/remotion-motion-graphics/SKILL.md +169 -0
- package/skills/remotion-motion-graphics/references/patterns.md +355 -0
- package/skills/remotion-motion-graphics/references/polish.md +102 -0
- package/skills/remotion-motion-graphics/references/scaffold.md +144 -0
- package/skills/remotion-motion-graphics/references/traps.md +152 -0
- package/skills/remotion-resemble-ai/SKILL.md +879 -0
- package/skills/remotion-resemble-ai/rules/resemble-captions.md +350 -0
- package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +305 -0
- package/skills/remotion-resemble-ai/rules/resemble-setup.md +284 -0
- package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +225 -0
- package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +239 -0
- package/skills/remotion-resemble-ai/rules/resemble-voices.md +213 -0
- package/skills/remotion-resemble-ai/rules/visual-animations.md +567 -0
- package/skills/riffkit/SKILL.md +196 -0
- package/skills/riffkit/examples/any-look-styles.md +11 -0
- package/skills/riffkit/examples/faceless-and-auto.md +16 -0
- package/skills/riffkit/examples/localize-spanish.md +18 -0
- package/skills/riffkit/examples/tiktok-shop-product.md +22 -0
- package/skills/riffkit/references/anchor.md +62 -0
- package/skills/riffkit/references/api.md +806 -0
- package/skills/riffkit/references/details.md +153 -0
- package/skills/riffkit/references/errors.md +69 -0
- package/skills/riffkit/references/intents.md +29 -0
- package/skills/saas-motion-video/SKILL.md +71 -0
- package/skills/script-to-video/SKILL.md +2627 -0
- package/skills/shorts/SKILL.md +372 -0
- package/skills/shorts/references/caption-styles.md +105 -0
- package/skills/shorts/references/platform-specs.md +149 -0
- package/skills/shorts/references/remotion-patterns.md +180 -0
- package/skills/shorts/references/scoring-rubric.md +106 -0
- package/skills/smart-video-editor/SKILL.md +327 -0
- package/skills/smart-video-editor/docs/FONTS.md +57 -0
- package/skills/story-telling/SKILL.md +222 -0
- package/skills/story-telling/rules/composition.md +130 -0
- package/skills/story-telling/rules/images.md +119 -0
- package/skills/story-telling/rules/models.md +98 -0
- package/skills/story-telling/rules/narration.md +87 -0
- package/skills/story-telling/rules/pitfalls.md +140 -0
- package/skills/story-telling/rules/story-formats.md +108 -0
- package/skills/story-telling/rules/story-json.md +143 -0
- package/skills/story-telling/rules/voices.md +114 -0
- package/skills/story-telling/rules/workflow.md +105 -0
- package/skills/story-to-handdrawn-video/SKILL.md +216 -0
- package/skills/story-to-handdrawn-video/references/asset-workflow.md +24 -0
- package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +27 -0
- package/skills/su-card-to-video/SKILL.md +103 -0
- package/skills/talking-head-video-pipeline/SKILL.md +224 -0
- package/skills/talking-head-video-pipeline/examples/prompts.md +217 -0
- package/skills/talking-head-video-pipeline/references/asr-adapters.md +51 -0
- package/skills/talking-head-video-pipeline/references/caption-workflow.md +53 -0
- package/skills/talking-head-video-pipeline/references/export-recipes.md +78 -0
- package/skills/talking-head-video-pipeline/references/layout-safety.md +49 -0
- package/skills/talking-head-video-pipeline/references/video-use-integration.md +71 -0
- package/skills/talking-head-video-pipeline/references/workflows/captions.md +52 -0
- package/skills/talking-head-video-pipeline/references/workflows/design.md +77 -0
- package/skills/talking-head-video-pipeline/references/workflows/doctor.md +51 -0
- package/skills/talking-head-video-pipeline/references/workflows/export.md +50 -0
- package/skills/talking-head-video-pipeline/references/workflows/init.md +51 -0
- package/skills/talking-head-video-pipeline/references/workflows/learn.md +36 -0
- package/skills/text-to-lottie/SKILL.md +202 -0
- package/skills/text-to-lottie/references/chapterization-transition-grammar.md +132 -0
- package/skills/text-to-lottie/references/design-taste.md +292 -0
- package/skills/text-to-lottie/references/lottie-spec-map.md +82 -0
- package/skills/text-to-lottie/references/motion-taste.md +260 -0
- package/skills/text-to-lottie/references/player-contract.md +325 -0
- package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +65 -0
- package/skills/text-to-lottie/references/recipe-data-stats.md +104 -0
- package/skills/text-to-lottie/references/recipe-diagram-technical.md +106 -0
- package/skills/text-to-lottie/references/recipe-loaders-icons.md +70 -0
- package/skills/text-to-lottie/references/recipe-logo.md +72 -0
- package/skills/text-to-lottie/references/recipe-lower-thirds.md +62 -0
- package/skills/text-to-lottie/references/recipe-product-promo.md +99 -0
- package/skills/ultrademo/SKILL.md +212 -0
- package/skills/video-assemble/SKILL.md +101 -0
- package/skills/video-assemble-zenstory-ai/SKILL.md +153 -0
- package/skills/video-assemble-zenstory-ai/references/audio-modes.md +63 -0
- package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +77 -0
- package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +14 -0
- package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +103 -0
- package/skills/video-assemble-zenstory-ai/references/packaging.md +44 -0
- package/skills/video-assemble-zenstory-ai/references/source-score.md +146 -0
- package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +202 -0
- package/skills/video-editing/SKILL.md +688 -0
- package/skills/video-explainer/SKILL.md +163 -0
- package/skills/video-explainer/references/brief-to-script.md +56 -0
- package/skills/video-explainer/references/errors-and-privacy.md +18 -0
- package/skills/video-explainer/references/motion-storyboard.md +82 -0
- package/skills/video-explainer/references/render-and-verify.md +62 -0
- package/skills/video-explainer/references/review-gate.md +82 -0
- package/skills/video-explainer/references/setup-and-doctor.md +33 -0
- package/skills/video-script-builder/SKILL.md +329 -0
- package/skills/video-script-builder/examples/quick-start-transcript.md +19 -0
- package/skills/video-script-builder/references/audio-workflow.md +84 -0
- package/skills/video-script-builder/references/caption-components.md +70 -0
- package/skills/video-script-builder/references/common-pitfalls.md +80 -0
- package/skills/video-script-builder/references/component-catalog.md +197 -0
- package/skills/video-script-builder/references/component-recipes.md +165 -0
- package/skills/video-script-builder/references/gsap-patterns.md +112 -0
- package/skills/video-script-builder/references/pacing-rules.md +78 -0
- package/skills/video-script-builder/references/quality-checklist.md +98 -0
- package/skills/video-script-builder/references/remotion-patterns.md +211 -0
- package/skills/video-script-builder/references/shader-transitions.md +115 -0
- package/skills/video-script-builder/references/taste-principles.md +160 -0
- package/skills/video-scrub/SKILL.md +216 -0
- package/skills/video-scrub/references/profiles.md +89 -0
- package/skills/video-scrub/references/residue-map.md +204 -0
- package/skills/video-short-maker/SKILL.md +182 -0
- package/skills/video-shot-analysis-feishu/SKILL.md +173 -0
- package/skills/video-shotcraft/SKILL.md +267 -0
- package/skills/video-shotcraft/docs/deepseek-harness.md +69 -0
- package/skills/video-shotcraft/references/aesthetic-rules.md +177 -0
- package/skills/video-shotcraft/references/final-review.md +112 -0
- package/skills/video-shotcraft/references/guided-free-creation.md +199 -0
- package/skills/video-shotcraft/references/jianying-export.md +182 -0
- package/skills/video-shotcraft/references/music-beat-sync.md +219 -0
- package/skills/video-shotcraft/references/pipeline.md +390 -0
- package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +50 -0
- package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +65 -0
- package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +37 -0
- package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +39 -0
- package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +38 -0
- package/skills/video-shotcraft-vincentwei10/SKILL.md +316 -0
- package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +187 -0
- package/skills/video-shotcraft-vincentwei10/references/final-review.md +116 -0
- package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +199 -0
- package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +183 -0
- package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +257 -0
- package/skills/video-shotcraft-vincentwei10/references/pipeline.md +401 -0
- package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +111 -0
- package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +50 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +62 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +41 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +52 -0
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +39 -0
- package/skills/video-structure-analyzer/SKILL.md +148 -0
- package/skills/video-structure-analyzer/examples/xhs-rook-time-spend/xhs-rook-time-spend_/346/213/211/347/211/207/346/213/206/350/247/243.md +50 -0
- package/skills/video-structure-analyzer/examples/xhs-smelly-cat/xhs-smelly-cat_/346/213/211/347/211/207/346/213/206/350/247/243.md +19 -0
- package/skills/video-toolkit/SKILL.md +686 -0
- package/skills/videocut/SKILL.md +159 -0
- package/skills/videodb/SKILL.md +497 -0
- package/skills/videodb/reference/api-reference.md +741 -0
- package/skills/videodb/reference/capture-reference.md +399 -0
- package/skills/videodb/reference/capture.md +110 -0
- package/skills/videodb/reference/editor-reference.md +506 -0
- package/skills/videodb/reference/editor.md +389 -0
- package/skills/videodb/reference/generative.md +344 -0
- package/skills/videodb/reference/indexing-reference.md +481 -0
- package/skills/videodb/reference/indexing.md +537 -0
- package/skills/videodb/reference/legacy/index-reference.md +223 -0
- package/skills/videodb/reference/legacy/index.md +241 -0
- package/skills/videodb/reference/legacy/search.md +249 -0
- package/skills/videodb/reference/migration.md +113 -0
- package/skills/vlog-auto-edit/SKILL.md +982 -0
- package/skills/vlog-auto-edit/examples/project_structure.md +84 -0
- package/skills/vox-animated-ad-mcp/SKILL.md +419 -0
- package/skills/vox-director/SKILL.md +351 -0
- package/skills/vox-director/references/beat-layer.md +143 -0
- package/skills/vox-director/references/host-mode.md +120 -0
- package/skills/vox-director/references/local-engine.md +73 -0
- package/skills/vox-director/references/models-and-gotchas.md +91 -0
- package/skills/vox-director/references/prompt-guide.md +275 -0
- package/skills/vox-director/references/voices.md +59 -0
- package/skills/xingchen-vox-collage/SKILL.md +251 -0
- package/skills/xingchen-vox-collage/references/asset-layer-contract.md +98 -0
- package/skills/xingchen-vox-collage/references/creative-exploration.md +19 -0
- package/skills/xingchen-vox-collage/references/learned-branches.md +34 -0
- package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +77 -0
- package/skills/xingchen-vox-collage/references/visual-language.md +74 -0
- package/skills/xingchen-vox-collage/references/visual-qa.md +59 -0
- package/skills/youtube/SKILL.md +147 -0
- package/skills/youtube/references/algorithm-guide.md +59 -0
- package/skills/youtube/references/analytics-benchmarks.md +67 -0
- package/skills/youtube/references/dataforseo-integration.md +51 -0
- package/skills/youtube/references/monetization-guide.md +62 -0
- package/skills/youtube/references/repurposing-guide.md +54 -0
- package/skills/youtube/references/retention-scripting-guide.md +75 -0
- package/skills/youtube/references/seo-playbook.md +77 -0
- package/skills/youtube/references/shorts-playbook.md +64 -0
- package/skills/youtube/references/thumbnail-ctr-guide.md +73 -0
- package/skills/youtube-shorts-factory/SKILL.md +358 -0
- package/skills/youtube-shorts-factory/resources/adaptation-guide.md +133 -0
- package/skills/youtube-shorts-factory/resources/storyboard-template.md +271 -0
- package/skills/youtube-shorts-factory/resources/workflow-steps.md +139 -0
- package/studio/client.mjs +3 -3
- package/studio/server/server.mjs +31 -3
- package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +1 -0
- package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +2 -0
- package/studio/ui/dist/assets/apple-touch-icon-ClxQ7j-O.png +0 -0
- package/studio/ui/dist/assets/{es-BRUzvuoM.js → es-AqUfIkAy.js} +1 -1
- package/studio/ui/dist/assets/favicon-Blwx8Trs.png +0 -0
- package/studio/ui/dist/assets/index-C7moXjTY.css +1 -0
- package/studio/ui/dist/assets/index-DdU5QNpY.js +1623 -0
- package/studio/ui/dist/assets/{ja-Cth-uDcW.js → ja-YwiCB4QQ.js} +1 -1
- package/studio/ui/dist/assets/{ko-upvw591D.js → ko-CKtBPDze.js} +1 -1
- package/studio/ui/dist/assets/{zh-CN-BCfJFazB.js → zh-CN-DtNEwKWJ.js} +1 -1
- package/studio/ui/dist/index.html +4 -3
- package/studio/ui/dist/assets/ExportCenter-F-2vF-lQ.js +0 -1
- package/studio/ui/dist/assets/SettingsModal-BgVYguNu.js +0 -2
- package/studio/ui/dist/assets/index-Bhg-9dA3.css +0 -1
- package/studio/ui/dist/assets/index-CWur1Iw9.js +0 -1625
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as Te,F as ne,u as St,e as Nt,R as h,G as wt,H as Et,I as Qe,J as De,r as Mt,j as t,X as Ft,C as Pt,K as $,N as Dt,D as $t,O as _e,h as dt,L as Ue,Q as At,U as It,M as _t,V as Tt,W as Ht,Y as Rt,Z as zt,_ as Lt,$ as Ot,a0 as We,a1 as qt,a2 as Bt,s as Gt,y as Vt,a3 as Kt}from"./index-CWur1Iw9.js";const Qt=Te("FolderArchive",[["circle",{cx:"15",cy:"19",r:"2",key:"u2pros"}],["path",{d:"M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1",key:"1jj40k"}],["path",{d:"M15 11v-1",key:"cntcp"}],["path",{d:"M15 17v-2",key:"1279jj"}]]);const Ut=Te("Images",[["path",{d:"M18 22H4a2 2 0 0 1-2-2V6",key:"pblm9e"}],["path",{d:"m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18",key:"nf6bnh"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}],["rect",{width:"16",height:"16",x:"6",y:"2",rx:"2",key:"12espp"}]]);const Wt=Te("Presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),Xe=["prores4444","hevc_alpha","vp9","png"],Xt={h264:"H.264",hevc:"HEVC",vp9:"WebM VP9",prores422hq:"ProRes 422 HQ",prores4444:"ProRes 4444",hevc_alpha:"HEVC + Alpha",png:"PNG"},ge=[{id:"bilibili",name:"哔哩哔哩",group:"landscape",frame:"16:9",shortEdge:1080,fps:60,burnSubtitles:!1,china:!0},{id:"douyin",name:"抖音",group:"vertical",frame:"9:16",shortEdge:1080,fps:30,burnSubtitles:!0,china:!0},{id:"kuaishou",name:"快手",group:"vertical",frame:"9:16",shortEdge:1080,fps:30,burnSubtitles:!0,china:!0},{id:"channels",name:"视频号",group:"vertical",frame:"9:16",shortEdge:1080,fps:30,burnSubtitles:!0,china:!0},{id:"xiaohongshu",name:"小红书",group:"feed",frame:"3:4",shortEdge:1080,fps:30,burnSubtitles:!0,china:!0},{id:"youtube",name:"YouTube",group:"landscape",frame:"16:9",shortEdge:1080,fps:60,burnSubtitles:!1},{id:"youtube-4k",name:"YouTube 4K",group:"landscape",frame:"16:9",shortEdge:2160,fps:60,burnSubtitles:!1},{id:"x",name:"X",group:"landscape",frame:"16:9",shortEdge:1080,fps:30,burnSubtitles:!0,maxDurationSec:140},{id:"shorts",name:"YouTube Shorts",group:"vertical",frame:"9:16",shortEdge:1080,fps:30,burnSubtitles:!0,maxDurationSec:180},{id:"tiktok",name:"TikTok",group:"vertical",frame:"9:16",shortEdge:1080,fps:30,burnSubtitles:!0},{id:"reels",name:"Instagram Reels",group:"vertical",frame:"9:16",shortEdge:1080,fps:30,burnSubtitles:!0},{id:"instagram",name:"Instagram Feed",group:"feed",frame:"4:5",shortEdge:1080,fps:30,burnSubtitles:!0},{id:"square",name:"LinkedIn · Facebook",group:"feed",frame:"1:1",shortEdge:1080,fps:30,burnSubtitles:!0}];function Yt(a){return a==="zh-CN"?[...ge.filter(o=>o.china),...ge.filter(o=>!o.china)]:ge.filter(o=>!o.china)}function Zt(a){return ge.find(o=>o.id===a)??null}const ue=4096;function A(a){return Math.max(2,Math.round(a/2)*2)}function xt(a,o){const i=a.ratio??a.w/Math.max(1,a.h);let r,c;if(i>=1?(c=A(o),r=A(c*i)):(r=A(o),c=A(r/i)),r>ue||c>ue){const f=Math.min(ue/r,ue/c);r=A(r*f),c=A(c*f)}return{w:r,h:c}}function Jt(a,o){const i=a.ratio??a.w/Math.max(1,a.h);return i>=1?{w:A(o),h:A(o/i)}:{w:A(o*i),h:A(o)}}function Ye(a,o,i,r){return xt(ne(a,o,i),r)}const er={standard:.07,high:.11,master:.2};function tr(a,o,i,r){return Math.min(12e7,Math.max(2e6,a.w*a.h*Math.max(1,o)*er[i]*r))}const me={w:1920,h:1080,fps:30,bytes:15e4},rr=[.25,4],sr=[.9,1.1],ar={standard:.58,high:1,master:1.6},nr={h264:1,hevc:.6,vp9:.7},lr={vp9:2e4,prores422hq:192e3,prores4444:192e3,hevc_alpha:192e3};function Ze(a,o,i,r){const c=ne(a,o,i),f=Math.min(1,c.inner.w*c.inner.h/Math.max(1,c.w*c.h));return r.w*r.h*f}function or(a){const o=Math.max(0,a.durationMs)/1e3,i=a.size.w*a.size.h;let r,c=sr;switch(a.codec){case"prores422hq":r=22e7*(i/(1920*1080))*(a.fps/30);break;case"prores4444":r=33e7*(i/(1920*1080))*(a.fps/30);break;case"hevc_alpha":r=tr(a.size,a.fps,a.quality,.8);break;case"png":r=i*8*a.fps;break;default:{const x=a.filmPixels??i;r=8*me.bytes*(x/(me.w*me.h))**.75*(Math.max(1,a.fps)/me.fps)**.35*ar[a.quality]*(nr[a.codec]??1),c=rr}}const f=a.audio?lr[a.codec]??24e3:0,m=x=>Math.round((r/8*x+f)*o);return[m(c[0]),m(c[1])]}const he={w:640,h:360,fps:15,bytes:3e5},Je=[.4,3];function ir(a){const o=a.filmPixels??a.size.w*a.size.h,i=he.bytes*(o/(he.w*he.h))**.9*(Math.max(1,a.fps)/he.fps)**.6*Math.max(0,a.durationMs)/1e3;return[Math.round(i*Je[0]),Math.round(i*Je[1])]}const $e=400;function cr(a,o){const i=a.filter(x=>x.durMs>0&&x.startMs<o),r=(x,I)=>{const k=[...x].sort((b,P)=>b.ms-P.ms),s=[];for(const b of k){const P=s.at(-1);P&&b.ms-P.last<$e?(P.last=b.ms,I&&(P.ms=b.ms),P.labels.includes(b.label)||P.labels.push(b.label)):s.push({ms:b.ms,last:b.ms,labels:[b.label]})}return s.map(b=>({ms:b.ms,title:b.labels.filter(Boolean).join(", ")}))},c=r(i.map(x=>({ms:Math.max(0,x.startMs),label:x.label})),!1),f=r(i.map(x=>({ms:Math.min(o,x.startMs+x.durMs),label:x.label})),!0);c[0]&&c[0].ms<$e?c[0].ms=0:c.unshift({ms:0,title:""});const m=f.at(-1);return m&&o-m.ms<$e?m.ms=o:o>0&&f.push({ms:o,title:""}),{starts:c,ends:f.filter(x=>x.ms>0)}}const et=[{id:"video",icon:t.jsx(It,{size:16})},{id:"nle",icon:t.jsx(dt,{size:16})},{id:"social",icon:t.jsx(_t,{size:16})},{id:"alpha",icon:t.jsx(Tt,{size:16})},{id:"gif",icon:t.jsx(Ht,{size:16})},{id:"audio",icon:t.jsx(Rt,{size:16})},{id:"subtitles",icon:t.jsx(zt,{size:16})},{id:"images",icon:t.jsx(Ut,{size:16})},{id:"slides",icon:t.jsx(Wt,{size:16})},{id:"html",icon:t.jsx(Lt,{size:16})},{id:"project",icon:t.jsx(Qt,{size:16})}],Ae={premiere:"Premiere Pro",resolve:"DaVinci Resolve"},tt={jianying:"剪映",capcut:"CapCut"},dr=["voice","music","sfx","footage"],be="__film__",C={dest:"video",presets:["youtube"],socialQuality:"high",socialSubs:"auto",video:{codec:"h264",shortEdge:1080,fps:"source",quality:"high",frame:"current",fill:"contain",audio:!0,burn:!0,sidecar:"none"},gif:{width:640,fps:15,frame:"current",fill:"contain",burn:!0},alpha:{codec:"prores4444",source:be,shortEdge:1080,scale:1,fps:30,audio:!0},audio:{format:"wav",mix:!0,stems:!1},nle:{app:"auto",fps:"source",audio:"clips",subtitles:!0},subtitles:{format:"srt"},images:{format:"png",shortEdge:1080,frame:"current",fill:"contain",burn:!1},slides:{format:"pptx",shortEdge:1080,frame:"current",fill:"contain",burn:!1},html:{mode:"pages",shortEdge:1080,frame:"current",fill:"contain",burn:!1,packed:!0},project:{as:"zip",history:!1,chat:!1,logs:!1},folder:""},pt="aicut.exportCenter.v1";function xr(a){const o=a==="zh-CN"?{...C,presets:["bilibili"]}:C;try{const i=JSON.parse(localStorage.getItem(pt)??"null");return!i||typeof i!="object"?o:{...C,...i,presets:Array.isArray(i.presets)?i.presets.filter(r=>Zt(r)):C.presets,video:{...C.video,...i.video},gif:{...C.gif,...i.gif},alpha:{...C.alpha,...i.alpha},audio:{...C.audio,...i.audio},nle:{...C.nle,...i.nle},subtitles:{...C.subtitles,...i.subtitles},images:{...C.images,...i.images},slides:{...C.slides,...i.slides},html:{...C.html,...i.html},project:{...C.project,...i.project?.as==="folder"?{as:"folder"}:{}}}}catch{return o}}function pr(a){try{localStorage.setItem(pt,JSON.stringify(a))}catch{}}const rt=[480,720,1080,1440,2160],st=[720,1080,1440,2160],at=Dt,ur=[320,480,640,800,1080],mr=[10,12,15,20,24],nt=["h264","hevc","prores422hq","prores4444","hevc_alpha","vp9","png"],hr=[.5,1,2],fr=["landscape","vertical","feed"],lt=[23.976,24,25,29.97,30,50,59.94,60],ot=/\.(mp4|m4v|mov|webm|mkv|avi|ogv)$/i;function fe(a,o){if(!o)return!0;switch(a){case"h264":return o.h264;case"hevc":return o.hevc;case"hevc_alpha":return o.hevcAlpha;case"vp9":return o.vp9;case"prores422hq":case"prores4444":return o.prores;case"png":return!0}}const gr=new Set(["social","video","alpha","gif","audio","images","slides","html"]);function kr(a){const{open:o,onClose:i}=a,r=St(),c=Nt(),f=h.useMemo(()=>Yt(c),[c]),[m,x]=h.useState(null),[I,k]=h.useState({jianying:!1,capcut:!1}),[s,b]=h.useState(C),[P,mt]=h.useState(!1),[M,W]=h.useState({on:!1,from:0,to:0}),[_,ve]=h.useState(null),[je,X]=h.useState(null),[le,ht]=h.useState(""),[He,ft]=h.useState(null),[S,gt]=h.useState(null),[K,Re]=h.useState(null),[oe,Y]=h.useState(null);h.useEffect(()=>{if(!o)return;const e=xr(c);b(a.focusClipId?{...e,dest:"alpha",alpha:{...e.alpha,source:a.focusClipId}}:e),mt(!0),X(null),ve(null),Y(null),W(n=>({...n,on:!1})),wt(a.projectId).then(n=>{x(n.can),k({jianying:!!n.drafts?.jianying,capcut:!!n.drafts?.capcut}),ht(n.folder),ft(n.subtitles??0),gt(n.project??null)}).catch(()=>{})},[o]),h.useEffect(()=>{P&&pr(s)},[s,P]),h.useEffect(()=>{if(!o)return;const e=n=>{n.key==="Escape"&&!_&&i()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[o,i,_]);const g=a.stage,v=a.durationMs,N=a.film??null,Z=h.useMemo(()=>new Set((N?.sounds??[]).filter(e=>e.durMs>0).map(e=>e.src&&ot.test(e.src)?"footage":e.kind)),[N]),Ce=N!=null&&Z.size===0,ie=h.useMemo(()=>a.mgBlocks??[],[a.mgBlocks]),y=He??0,ke=h.useMemo(()=>[...N?.scenes??[]].sort((e,n)=>e.startMs-n.startMs).find(e=>e.src&&ot.test(e.src))?.src??null,[N]);h.useEffect(()=>{if(Re(null),!o||!ke)return;let e=!0;return Et(a.projectId,ke).then(n=>{!e||n==null||Re(lt.find(l=>Math.abs(l-n)<.05)??null)}).catch(()=>{}),()=>{e=!1}},[o,ke,a.projectId]);const ye=h.useMemo(()=>cr(N?.scenes??[],v),[N,v]),Se=h.useMemo(()=>{if(!N)return 1;let e=-1/0,n=0;for(const l of[...N.scenes].sort((w,j)=>w.startMs-j.startMs))!(l.durMs>0)||l.startMs>=v||l.startMs-e<400||(e=l.startMs,n++);return Math.max(1,Math.min(120,n))},[N,v]);h.useEffect(()=>{W(e=>({...e,from:0,to:v}))},[v]);const Q=M.on&&M.to>M.from&&(M.from>0||M.to<v)?{fromMs:M.from,toMs:M.to}:void 0,q=Q?Q.toMs-Q.fromMs:v,ce=Q?[Q.fromMs/1e3,Q.toMs/1e3]:void 0,B=e=>e==="current"?a.frame:e,J=a.projectFps??30,ze=e=>e==="source"?J:e,d=(e,n)=>{b(l=>({...l,[e]:typeof n=="object"&&!Array.isArray(n)&&n!==null?{...l[e],...n}:n}))},u=et.some(e=>e.id===s.dest)?s.dest:"video",T=ie.find(e=>e.clipId===s.alpha.source),bt=u==="alpha"&&T?T.durMs:q,G=fe(s.video.codec,m)&&nt.includes(s.video.codec)?s.video.codec:"h264",ee=Xe.includes(s.alpha.codec)&&fe(s.alpha.codec,m)?s.alpha.codec:"prores4444",Le=s.audio.format==="mp3"&&m&&!m.mp3?"wav":s.audio.format,de=c==="zh-CN"?"jianying":"capcut",te=I[de]||!I[de==="jianying"?"capcut":"jianying"]?de:de==="jianying"?"capcut":"jianying",Ne=I[te],re=e=>r(e).replaceAll("{app}",tt[te]),H=s.nle.app==="auto"?Ne?"draft":"premiere":s.nle.app,vt=u==="nle"&&H==="draft"&&Ne,xe=e=>Xt[e]+(e==="png"?` ${r("exportCenter.sequence")}`:""),Oe=h.useMemo(()=>Qe.filter(e=>s.project[e]&&(S==null||S[e]!=null)),[s.project,S]),se=h.useMemo(()=>{const e=ce?{range:ce}:{},n=l=>y>0&&l?{burnSubtitles:!0}:{};switch(u){case"social":return s.presets.map(l=>f.find(w=>w.id===l)??null).filter(l=>l!==null).map(l=>({kind:"video",codec:"h264",frame:l.frame,fill:"contain",shortEdge:l.shortEdge,fps:l.fps,quality:s.socialQuality,audio:!0,preset:l.name,label:l.name,...n(s.socialSubs==="auto"?l.burnSubtitles:s.socialSubs==="on"),...e}));case"video":{const l=s.video;return[{kind:"video",codec:G,frame:B(l.frame),fill:l.fill,shortEdge:l.shortEdge,fps:ze(l.fps),quality:l.quality,audio:l.audio,label:xe(G),...n(l.burn),...y>0&&l.sidecar!=="none"&&G!=="png"?{sidecar:l.sidecar}:{},...e}]}case"alpha":{const l=s.alpha;return T?[{kind:"video",codec:ee,clip:T.clipId,scale:l.scale,fps:l.fps,quality:"high",audio:l.audio,label:T.label}]:[{kind:"video",codec:ee,frame:"native",shortEdge:l.shortEdge,fps:l.fps,quality:"high",audio:l.audio,label:xe(ee),...e}]}case"gif":return[{kind:"gif",frame:B(s.gif.frame),fill:s.gif.fill,width:s.gif.width,fps:s.gif.fps,label:"GIF",...n(s.gif.burn),...e}];case"audio":{const l=s.audio.stems;return[{kind:"audio",format:Le,stems:l,mix:l?s.audio.mix:!0,label:r(l?"exportCenter.audioStems":"exportCenter.audioMix"),...e}]}case"nle":return[{kind:"nle",format:H==="draft"?te:"xml",fps:s.nle.fps==="source"?K??J:s.nle.fps,audio:s.nle.audio,media:"copy",subtitles:s.nle.subtitles,label:H==="draft"?re("exportCenter.nleDraftTitle"):`${Ae[H]} XML`}];case"subtitles":return[{kind:"subtitles",format:s.subtitles.format,label:s.subtitles.format==="txt"?r("exportCenter.transcript"):s.subtitles.format.toUpperCase(),...e}];case"images":return[{kind:"stills",format:s.images.format,shortEdge:s.images.shortEdge,frame:B(s.images.frame),fill:s.images.fill,label:r("exportCenter.stills"),...n(s.images.burn)}];case"slides":return[{kind:"slides",format:s.slides.format,shortEdge:s.slides.shortEdge,frame:B(s.slides.frame),fill:s.slides.fill,label:s.slides.format==="pdf"?"PDF":"PowerPoint",...n(s.slides.burn)}];case"html":return[{kind:"html",mode:s.html.mode,shortEdge:s.html.shortEdge,frame:B(s.html.frame),fill:s.html.fill,packed:s.html.packed,label:"HTML",...n(s.html.mode==="deck"&&s.html.burn)}];case"project":return[{kind:"project",as:s.project.as,parts:Oe,label:r(s.project.as==="zip"?"exportCenter.projectZip":"exportCenter.projectFolder")}]}},[u,s,m,f,H,te,ce?.[0],ce?.[1],a.frame,ie,K,y,Oe]),qe=h.useMemo(()=>se.reduce(([e,n],l)=>{const w=([j,E])=>[e+j,n+E];if(l.kind==="video"){if(l.clip)return[e,n];const j=l.frame??"native",E=l.fill??"contain",D=Ye(g,j,E,l.shortEdge??Math.min(g.w,g.h));return w(or({codec:l.codec,size:D,filmPixels:Ze(g,j,E,D),fps:l.fps,quality:l.quality,durationMs:q,audio:l.audio&&l.codec!=="png"&&!Ce}))}if(l.kind==="gif"){const j=l.frame??"native",E=l.fill??"contain",D=Jt(ne(g,j,E),l.width);return w(ir({size:D,filmPixels:Ze(g,j,E,D),fps:l.fps,durationMs:q}))}if(l.kind==="audio"){const j=l.format==="wav"?192e3:32e3,E=(l.mix?1:0)+(l.stems?Z.size:0),D=j*(q/1e3)*Math.max(1,E);return w([D,D])}if(l.kind==="project"&&S){const j=l.parts.reduce((E,D)=>E+(S[D]??0),S.work);return w([j,j])}return[e,n]},[0,0]),[se,g,q,Z,Ce,S]),Be=qe[1]>0?[...new Set(qe.map(e=>De(e)))].join("–"):"",R=s.folder||le,we=se.reduce((e,n)=>n.kind==="audio"?e+(n.mix?1:0)+(n.stems?Math.max(1,Z.size):0):n.kind==="video"&&n.sidecar?e+2:e+1,0),pe=a.missingFiles??[],Ee=pe.length&&gr.has(u)?r("exportCenter.missingMedia").replace("{n}",String(pe.length)).replace("{files}",pe.slice(0,3).map(e=>e.split("/").pop()).join(", ")+(pe.length>3?", …":"")):null,Me=Ee||(!v&&u!=="project"?r("exportCenter.emptyFilm"):u==="social"&&se.length===0?r("exportCenter.pickPreset"):u==="subtitles"&&He!=null&&y===0?r("exportCenter.noCaptions"):u==="audio"&&Ce?r("exportCenter.noAudio"):null),Ge=async e=>{if(!_){if(X(null),!R){X({ok:!1,text:r("exportCenter.noFolder")});return}ve(r("exportCenter.queueing"));try{const n=await Kt(a.projectId,e,s.folder||void 0);a.onQueued?.(n),i()}catch(n){X({ok:!1,text:n instanceof TypeError?r("exportCenter.engineDown"):n instanceof Error?n.message:String(n)})}finally{ve(null)}}},Fe=a.playheadMs!=null&&a.playheadMs>0&&a.playheadMs<v?a.playheadMs/1e3:void 0,jt=()=>{const e=Fe;Ge([{kind:"poster",format:s.images.format,shortEdge:s.images.shortEdge,frame:B(s.images.frame),fill:s.images.fill,label:r("exportCenter.poster"),...e!=null?{at:e}:{},...y>0&&s.images.burn?{burnSubtitles:!0}:{}}])},Ve=()=>{if(oe==null)return;const e=oe.trim();d("folder",e===le?"":e),Y(null)},[Pe,Ke]=h.useState(!1),Ct=async()=>{if(!Pe){Ke(!0);try{const e={title:r("exportCenter.pickTitle"),button:r("exportCenter.pickButton"),...R?{at:R}:{}},n=Gt?.folders?.pick,l=n?await n(e):await Vt.pickFolder(e.title,e.at);l&&d("folder",l===le?"":l)}catch{Y(R)}finally{Ke(!1)}}};if(!o||typeof document>"u")return null;const kt=_??(we>1?r("exportCenter.exportN").replace("{n}",String(we)):r("exportCenter.export")),yt=!!_||!!Me||!R;return Mt.createPortal(t.jsx("div",{className:"fixed inset-0 z-[130] flex items-center justify-center bg-black/45 p-4 backdrop-blur-[2px]",onClick:()=>{_||i()},children:t.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":r("exportCenter.title"),className:"flex h-[min(640px,calc(100vh-32px))] w-full max-w-[1080px] overflow-hidden rounded-2xl border border-[var(--border)] bg-[var(--surface)] shadow-[var(--shadow-lg)]",style:{animation:"aicut-rise 0.16s ease-out both"},onClick:e=>e.stopPropagation(),children:[t.jsxs("nav",{className:"flex min-h-0 w-[212px] shrink-0 flex-col border-r border-[var(--border-soft)] bg-[var(--surface-2)]",children:[t.jsx("h2",{className:"shrink-0 px-5 pb-2 pt-4 text-[15px] font-semibold tracking-tight text-[var(--text)]",children:r("exportCenter.title")}),t.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-0.5 overflow-y-auto px-3 pb-2",children:et.map(e=>{const n=u===e.id;return t.jsxs("button",{type:"button","aria-pressed":n,onClick:()=>{d("dest",e.id),X(null)},className:`flex items-start gap-2.5 rounded-lg px-2.5 py-2 text-left transition ${n?"bg-[var(--surface)] shadow-[var(--shadow-sm)]":"hover:bg-[var(--bg-hover)]"}`,children:[t.jsx("span",{className:`mt-0.5 shrink-0 ${n?"text-[var(--text)]":"text-[var(--text-muted)]"}`,children:e.icon}),t.jsxs("span",{className:"min-w-0",children:[t.jsx("span",{className:`block text-[13px] font-medium ${n?"text-[var(--text)]":"text-[var(--text-muted)]"}`,children:r(`exportCenter.dest.${e.id}`)}),t.jsx("span",{className:"block text-[11px] leading-snug text-[var(--text-faint)]",children:re(`exportCenter.destHint.${e.id}`)})]})]},e.id)})}),t.jsx("div",{className:"shrink-0 border-t border-[var(--border-soft)] px-5 py-3 text-[10.5px] leading-relaxed text-[var(--text-faint)]",children:r("exportCenter.engineDesktop")})]}),t.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[t.jsxs("div",{className:"flex shrink-0 items-center gap-2 px-5 pb-1 pt-4",children:[t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("h3",{className:"text-[14px] font-semibold text-[var(--text)]",children:r(`exportCenter.dest.${u}`)}),t.jsx("p",{className:"mt-0.5 text-[12px] leading-relaxed text-[var(--text-muted)]",children:re(`exportCenter.destDesc.${u}`)})]}),t.jsx("button",{type:"button",onClick:i,disabled:!!_,"aria-label":r("exportDialog.close"),className:"self-start rounded-lg p-1 text-[var(--text-faint)] transition hover:bg-[var(--bg-hover)] hover:text-[var(--text)]",children:t.jsx(Ft,{size:16})})]}),t.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-5 pb-4 pt-3",children:t.jsxs("div",{className:"flex flex-col gap-5",children:[u==="social"&&t.jsxs(t.Fragment,{children:[fr.map(e=>t.jsx(p,{label:r(`exportCenter.group.${e}`),children:t.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:f.filter(n=>n.group===e).map(n=>{const l=s.presets.includes(n.id),w=xt(ne(g,n.frame),n.shortEdge),j=n.maxDurationSec!=null&&q/1e3>n.maxDurationSec;return t.jsxs("button",{type:"button","aria-pressed":l,onClick:()=>d("presets",l?s.presets.filter(E=>E!==n.id):[...s.presets,n.id]),className:`relative flex flex-col items-start gap-0.5 rounded-xl border px-3 py-2.5 text-left transition ${l?"border-[var(--text)] bg-[var(--bg-hover)]":"border-[var(--border)] hover:border-[var(--text-faint)]"}`,children:[t.jsxs("span",{className:"flex w-full items-center gap-1.5",children:[t.jsx(ut,{frame:n.frame,stage:g}),t.jsx("span",{className:"min-w-0 flex-1 truncate text-[12.5px] font-medium text-[var(--text)]",children:n.name}),l&&t.jsx(Pt,{size:13,className:"shrink-0 text-[var(--text)]"})]}),t.jsxs("span",{className:"text-[11px] tabular-nums text-[var(--text-faint)]",children:[w.w,"×",w.h," · ",n.fps,"fps"]}),j&&t.jsx("span",{className:"text-[10.5px] leading-snug text-[var(--warn)]",children:r("exportCenter.tooLong").replace("{max}",$(n.maxDurationSec*1e3))})]},n.id)})})},e)),t.jsxs("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[t.jsx(p,{label:r("exportCenter.quality"),children:t.jsx(ct,{value:s.socialQuality,onChange:e=>d("socialQuality",e),t:r})}),y>0&&t.jsx(p,{label:r("exportCenter.burnSubtitles"),children:t.jsx(O,{value:s.socialSubs,options:[{value:"auto",label:r("exportCenter.subsAuto")},{value:"on",label:r("exportCenter.subsOn")},{value:"off",label:r("exportCenter.subsOff")}],onChange:e=>d("socialSubs",e)})})]}),t.jsx(L,{children:r("exportCenter.socialHint")})]}),u==="video"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.codec"),children:t.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:nt.map(e=>{const n=!fe(e,m);return t.jsx(U,{on:G===e,disabled:n,title:xe(e),desc:r(n?"exportCenter.notOnThisComputer":`exportCenter.codecHint.${e}`),onClick:()=>d("video",{codec:e})},e)})})}),t.jsx(ae,{value:s.video.frame,fill:s.video.fill,current:a.frame,stage:g,onChange:e=>d("video",{frame:e}),onFill:e=>d("video",{fill:e}),t:r}),t.jsx(p,{label:r("exportCenter.resolution"),children:t.jsx(V,{value:s.video.shortEdge,options:rt.map(e=>{const n=Ye(g,B(s.video.frame),s.video.fill,e);return{value:e,label:e===2160?"4K":`${e}p`,sub:`${n.w}×${n.h}`}}),onChange:e=>d("video",{shortEdge:e})})}),t.jsxs("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[t.jsx(p,{label:r("exportCenter.fps"),children:t.jsx(Ie,{label:r("exportCenter.fps"),value:ze(s.video.fps),rates:at,own:{fps:J,note:r("exportCenter.fpsProject")},onPick:e=>d("video",{fps:e===J?"source":e})})}),!(G.startsWith("prores")||G==="png")&&t.jsx(p,{label:r("exportCenter.quality"),children:t.jsx(ct,{value:s.video.quality,onChange:e=>d("video",{quality:e}),t:r})})]}),G!=="png"&&t.jsxs("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[t.jsx(p,{label:r("exportCenter.audio"),children:t.jsx(F,{checked:s.video.audio,onChange:e=>d("video",{audio:e}),label:r("exportCenter.includeAudio")})}),y>0&&t.jsxs(p,{label:r("exportCenter.subtitles"),children:[t.jsx(F,{checked:s.video.burn,onChange:e=>d("video",{burn:e}),label:r("exportCenter.burnIn")}),t.jsx("div",{className:"mt-2",children:t.jsx(O,{value:s.video.sidecar,options:[{value:"none",label:r("exportCenter.noSidecar")},{value:"srt",label:"+ SRT"},{value:"vtt",label:"+ VTT"}],onChange:e=>d("video",{sidecar:e})})})]})]})]}),u==="alpha"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.alphaSource"),children:t.jsxs("div",{className:"flex max-h-[200px] flex-col gap-1.5 overflow-y-auto pr-1",children:[[{clipId:be,label:r("exportCenter.alphaWhole"),startMs:0,durMs:v},...ie].map(e=>{const n=(T?T.clipId:be)===e.clipId;return t.jsxs("button",{type:"button","aria-pressed":n,onClick:()=>d("alpha",{source:e.clipId}),className:`flex items-center gap-2.5 rounded-lg border px-3 py-2 text-left transition ${n?"border-[var(--text)] bg-[var(--bg-hover)]":"border-[var(--border)] hover:border-[var(--text-faint)]"}`,children:[t.jsx("span",{className:`h-3.5 w-3.5 shrink-0 rounded-full border ${n?"border-[4px] border-[var(--text)]":"border-[var(--text-faint)]"}`}),t.jsx("span",{className:"min-w-0 flex-1 truncate text-[12.5px] font-medium text-[var(--text)]",children:e.label}),t.jsx("span",{className:"shrink-0 text-[11px] tabular-nums text-[var(--text-faint)]",children:e.clipId===be?r("exportCenter.alphaWholeHint"):`${$(e.startMs)} · ${$(e.durMs)}`})]},e.clipId)}),ie.length===0&&t.jsx(L,{children:r("exportCenter.alphaNoBlocks")})]})}),t.jsx(p,{label:r("exportCenter.format"),children:t.jsx("div",{className:"grid grid-cols-2 gap-2",children:Xe.map(e=>{const n=!fe(e,m);return t.jsx(U,{on:ee===e,disabled:n,title:xe(e),desc:r(n?"exportCenter.notOnThisComputer":`exportCenter.alphaCodecHint.${e}`),onClick:()=>d("alpha",{codec:e})},e)})})}),t.jsxs("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[T?t.jsx(p,{label:r("exportCenter.alphaScale"),children:t.jsx(V,{value:s.alpha.scale,options:hr.map(e=>({value:e,label:`${e}×`})),onChange:e=>d("alpha",{scale:e})})}):t.jsx(p,{label:r("exportCenter.resolution"),children:t.jsx(V,{value:s.alpha.shortEdge,options:rt.map(e=>({value:e,label:e===2160?"4K":`${e}p`})),onChange:e=>d("alpha",{shortEdge:e})})}),t.jsx(p,{label:r("exportCenter.fps"),children:t.jsx(Ie,{label:r("exportCenter.fps"),value:s.alpha.fps,rates:at,own:{fps:J,note:r("exportCenter.fpsProject")},onPick:e=>d("alpha",{fps:e})})})]}),ee!=="png"&&t.jsx(F,{checked:s.alpha.audio,onChange:e=>d("alpha",{audio:e}),label:r("exportCenter.includeAudio")}),t.jsx(jr,{children:r("exportCenter.alphaHint")})]}),u==="nle"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.nleFor"),children:t.jsx(O,{value:H,options:[{value:"draft",label:tt[te]},{value:"premiere",label:Ae.premiere},{value:"resolve",label:Ae.resolve}],onChange:e=>d("nle",{app:e})})}),t.jsx(p,{label:r("exportCenter.fps"),children:t.jsx(Ie,{label:r("exportCenter.fps"),value:s.nle.fps==="source"?K??30:s.nle.fps,rates:lt,own:K?{fps:K,note:r("exportCenter.fpsSource")}:null,onPick:e=>d("nle",{fps:e===K?"source":e})})}),t.jsx(p,{label:r("exportCenter.nleAudio"),children:t.jsx(O,{value:s.nle.audio,options:[{value:"clips",label:r("exportCenter.nleAudioClips")},{value:"stems",label:r("exportCenter.nleAudioStems")}],onChange:e=>d("nle",{audio:e})})}),y>0&&t.jsx(F,{checked:s.nle.subtitles,onChange:e=>d("nle",{subtitles:e}),label:r(H==="draft"?"exportCenter.nleSubs":"exportCenter.nleSrt")}),t.jsx(L,{children:re(H==="premiere"?"exportCenter.nleHintPremiere":H==="resolve"?"exportCenter.nleHintResolve":Ne?"exportCenter.nleHintDraft":"exportCenter.nleHintDraftNone")})]}),u==="gif"&&t.jsxs(t.Fragment,{children:[t.jsx(ae,{value:s.gif.frame,fill:s.gif.fill,current:a.frame,stage:g,onChange:e=>d("gif",{frame:e}),onFill:e=>d("gif",{fill:e}),t:r}),t.jsx(p,{label:r("exportCenter.gifWidth"),children:t.jsx(V,{value:s.gif.width,options:ur.map(e=>({value:e,label:`${e}px`})),onChange:e=>d("gif",{width:e})})}),t.jsx(p,{label:r("exportCenter.fps"),children:t.jsx(V,{value:s.gif.fps,options:mr.map(e=>({value:e,label:`${e}`})),onChange:e=>d("gif",{fps:e})})}),y>0&&t.jsx(F,{checked:s.gif.burn,onChange:e=>d("gif",{burn:e}),label:r("exportCenter.burnIn")}),t.jsx(L,{children:r("exportCenter.gifHint")})]}),u==="audio"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.format"),children:t.jsx("div",{className:"grid grid-cols-3 gap-2",children:["wav","m4a","mp3"].map(e=>{const n=e==="mp3"&&m!=null&&!m.mp3;return t.jsx(U,{on:Le===e,disabled:n,title:e.toUpperCase(),desc:r(n?"exportCenter.notOnThisComputer":`exportCenter.audioHint.${e}`),onClick:()=>d("audio",{format:e})},e)})})}),t.jsx(p,{label:r("exportCenter.contents"),children:t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx(F,{checked:s.audio.mix||!s.audio.stems,onChange:e=>d("audio",{mix:e}),label:r("exportCenter.audioMix"),disabled:!s.audio.stems}),t.jsx(F,{checked:s.audio.stems,onChange:e=>d("audio",{stems:e}),label:r("exportCenter.audioStems")}),s.audio.stems&&N&&t.jsx("p",{className:"pl-6 text-[11.5px] text-[var(--text-faint)]",children:dr.filter(e=>Z.has(e)).map(e=>r(`exportCenter.stem.${e}`)).join(" · ")||r("exportCenter.noAudio")})]})}),t.jsx(L,{children:r("exportCenter.stemsHint")})]}),u==="subtitles"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.format"),children:t.jsx("div",{className:"grid grid-cols-3 gap-2",children:["srt","vtt","txt"].map(e=>t.jsx(U,{on:s.subtitles.format===e,title:e==="txt"?r("exportCenter.transcript"):e.toUpperCase(),desc:r(`exportCenter.subsHint.${e}`),onClick:()=>d("subtitles",{format:e})},e))})}),t.jsx(L,{children:r("exportCenter.captionCount").replace("{n}",String(y))})]}),u==="project"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.format"),children:t.jsx("div",{className:"grid grid-cols-2 gap-2",children:["zip","folder"].map(e=>t.jsx(U,{on:s.project.as===e,title:r(e==="zip"?"exportCenter.projectZip":"exportCenter.projectFolder"),desc:r(e==="zip"?"exportCenter.projectZipHint":"exportCenter.projectFolderHint"),onClick:()=>d("project",{as:e})},e))})}),t.jsx(p,{label:r("exportCenter.contents"),children:t.jsxs("div",{className:"flex flex-col gap-2.5",children:[t.jsx(it,{checked:!0,locked:!0,onChange:()=>{},label:r("exportCenter.projectPart.work"),hint:r("exportCenter.projectPartHint.work"),size:S?De(S.work):""}),Qe.map(e=>{const n=S!=null&&S[e]==null;return t.jsx(it,{checked:s.project[e]&&!n,disabled:n,onChange:l=>d("project",{[e]:l}),label:r(`exportCenter.projectPart.${e}`),hint:r(n?"exportCenter.projectPartNone":`exportCenter.projectPartHint.${e}`),size:!n&&S?De(S[e]??0):""},e)})]})}),t.jsx(L,{children:r("exportCenter.projectHint")})]}),u==="images"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.poster"),children:t.jsxs("button",{type:"button",onClick:jt,disabled:!!_||!v||!R,className:"inline-flex h-9 items-center gap-2 self-start rounded-lg border border-[var(--border)] px-3 text-[12.5px] font-medium text-[var(--text)] transition hover:bg-[var(--bg-hover)] disabled:cursor-not-allowed disabled:opacity-40",children:[t.jsx($t,{size:14}),Fe!=null?r("exportCenter.posterAt").replace("{time}",$(Fe*1e3)):r("exportCenter.posterMiddle")]})}),t.jsxs(p,{label:r("exportCenter.sceneStills"),children:[t.jsx("p",{className:"-mt-1 mb-1 text-[12px] text-[var(--text-muted)]",children:r("exportCenter.sceneStillsDesc").replace("{n}",String(Se))}),t.jsx(O,{value:s.images.format,options:[{value:"png",label:"PNG"},{value:"jpg",label:"JPG"}],onChange:e=>d("images",{format:e})})]}),t.jsx(ae,{value:s.images.frame,fill:s.images.fill,current:a.frame,stage:g,onChange:e=>d("images",{frame:e}),onFill:e=>d("images",{fill:e}),t:r}),t.jsx(p,{label:r("exportCenter.resolution"),children:t.jsx(V,{value:s.images.shortEdge,options:st.map(e=>({value:e,label:e===2160?"4K":`${e}p`})),onChange:e=>d("images",{shortEdge:e})})}),y>0&&t.jsx(F,{checked:s.images.burn,onChange:e=>d("images",{burn:e}),label:r("exportCenter.burnIn")})]}),u==="slides"&&t.jsxs(t.Fragment,{children:[t.jsx(p,{label:r("exportCenter.format"),children:t.jsx("div",{className:"grid grid-cols-2 gap-2",children:["pptx","pdf"].map(e=>t.jsx(U,{on:s.slides.format===e,title:e==="pptx"?"PowerPoint":"PDF",desc:r(`exportCenter.slidesHint.${e}`),onClick:()=>d("slides",{format:e})},e))})}),t.jsx(ae,{value:s.slides.frame,fill:s.slides.fill,current:a.frame,stage:g,onChange:e=>d("slides",{frame:e}),onFill:e=>d("slides",{fill:e}),t:r}),y>0&&t.jsx(F,{checked:s.slides.burn,onChange:e=>d("slides",{burn:e}),label:r("exportCenter.burnIn")})]}),u==="html"&&t.jsxs(t.Fragment,{children:[t.jsxs(p,{label:r("exportCenter.htmlMode"),children:[t.jsx(O,{value:s.html.mode,options:[{value:"pages",label:r("exportCenter.htmlModePages")},{value:"film",label:r("exportCenter.htmlModeFilm")},{value:"deck",label:r("exportCenter.htmlModeDeck")}],onChange:e=>d("html",{mode:e})}),t.jsx(L,{children:r(s.html.mode==="film"?"exportCenter.htmlFilmHint":s.html.mode==="pages"?"exportCenter.htmlPagesHint":"exportCenter.htmlHint").replace("{n}",String(Se))})]}),s.html.mode==="deck"&&t.jsxs(t.Fragment,{children:[t.jsx(ae,{value:s.html.frame,fill:s.html.fill,current:a.frame,stage:g,onChange:e=>d("html",{frame:e}),onFill:e=>d("html",{fill:e}),t:r}),t.jsx(p,{label:r("exportCenter.resolution"),children:t.jsx(V,{value:s.html.shortEdge,options:st.map(e=>({value:e,label:e===2160?"4K":`${e}p`})),onChange:e=>d("html",{shortEdge:e})})}),y>0&&t.jsx(F,{checked:s.html.burn,onChange:e=>d("html",{burn:e}),label:r("exportCenter.burnIn")})]}),t.jsxs(p,{label:r("exportCenter.htmlPacking"),children:[t.jsx(F,{checked:s.html.packed,onChange:e=>d("html",{packed:e}),label:r("exportCenter.htmlPacked")}),t.jsx(L,{children:r("exportCenter.htmlPackedHint")})]})]}),(u==="social"||u==="video"||u==="gif"||u==="audio"||u==="subtitles"||u==="alpha"&&!T)&&v>0&&t.jsxs(p,{label:r("exportCenter.range"),children:[t.jsx(O,{value:M.on?"part":"all",options:[{value:"all",label:`${r("exportCenter.rangeAll")} · ${$(v)}`},{value:"part",label:r("exportCenter.rangePart")}],onChange:e=>W(n=>({...n,on:e==="part"}))}),M.on&&t.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-[12px] text-[var(--text-muted)]",children:[t.jsx("div",{className:"flex w-[220px] min-w-0",children:t.jsx(_e,{label:r("exportCenter.rangeFrom"),size:"md",value:String(M.from),groups:[{choices:ye.starts.map(e=>({value:String(e.ms),label:[$(e.ms),e.title].filter(Boolean).join(" · ")}))}],onPick:e=>{const n=Number(e);W(l=>({...l,from:n,to:l.to>n?l.to:ye.ends.find(w=>w.ms>n)?.ms??v}))}})}),t.jsx("span",{children:"→"}),t.jsx("div",{className:"flex w-[220px] min-w-0",children:t.jsx(_e,{label:r("exportCenter.rangeTo"),size:"md",value:String(M.to),groups:[{choices:ye.ends.filter(e=>e.ms>M.from).map(e=>({value:String(e.ms),label:[$(e.ms),e.title].filter(Boolean).join(" · ")}))}],onPick:e=>W(n=>({...n,to:Number(e)}))})}),t.jsx("span",{className:"tabular-nums",children:$(q)})]})]})]})}),t.jsxs("div",{className:"flex shrink-0 flex-wrap items-center gap-x-4 gap-y-3 border-t border-[var(--border-soft)] bg-[color-mix(in_srgb,var(--surface-2)_45%,transparent)] px-5 py-3.5",children:[vt?t.jsxs("div",{className:"-ml-2 flex min-w-0 max-w-[340px] flex-1 items-center gap-2.5 px-2 py-1.5",children:[t.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-2)] text-[var(--text-muted)] ring-1 ring-[var(--border)]",children:t.jsx(dt,{size:15})}),t.jsxs("span",{className:"flex min-w-0 items-baseline gap-1.5",children:[t.jsx("span",{className:"shrink-0 text-[11px] text-[var(--text-faint)]",children:r("exportCenter.saveTo")}),t.jsx("span",{className:"truncate text-[13px] font-medium text-[var(--text)]",children:re("exportCenter.nleDraftTitle")})]})]}):oe!=null?t.jsx("input",{autoFocus:!0,value:oe,spellCheck:!1,"aria-label":r("exportCenter.saveTo"),onChange:e=>Y(e.target.value),onFocus:e=>e.currentTarget.select(),onBlur:Ve,onKeyDown:e=>{e.key==="Enter"&&(e.preventDefault(),Ve()),e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),Y(null))},className:"h-10 min-w-[200px] flex-1 rounded-lg border border-[var(--border)] bg-[var(--bg)] px-3 font-mono text-[12px] text-[var(--text)] outline-none focus:border-[var(--text-faint)]"}):t.jsxs("button",{type:"button",onClick:()=>{Ct()},disabled:Pe,title:R,"aria-label":`${r("exportCenter.saveTo")}: ${R||"—"}. ${r("exportCenter.change")}`,className:"group -ml-2 flex min-w-0 max-w-[340px] flex-1 items-center gap-2.5 rounded-lg px-2 py-1.5 text-left transition hover:bg-[var(--bg-hover)] disabled:opacity-60",children:[t.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-2)] text-[var(--text-muted)] ring-1 ring-[var(--border)] transition group-hover:text-[var(--text)]",children:Pe?t.jsx(Ue,{size:15,className:"animate-spin"}):t.jsx(At,{size:15})}),t.jsxs("span",{className:"flex min-w-0 flex-col",children:[t.jsxs("span",{className:"flex min-w-0 items-baseline gap-1.5",children:[t.jsx("span",{className:"shrink-0 text-[11px] text-[var(--text-faint)]",children:r("exportCenter.saveTo")}),t.jsx("span",{className:"truncate text-[13px] font-medium text-[var(--text)]",children:br(R)||"—"})]}),t.jsx("span",{className:"truncate text-[11px] text-[var(--text-faint)] group-hover:text-[var(--text-muted)]",children:r("exportCenter.change")})]})]}),t.jsxs("div",{className:"ml-auto flex min-w-0 items-center gap-4",children:[t.jsx("div",{className:"min-w-0 text-right text-[12px] leading-snug",children:je?t.jsx("span",{className:je.ok?"text-[var(--ok)]":"text-[var(--err)]",children:je.text}):Me?t.jsx("span",{"data-export-reason":"",className:Ee?"text-[var(--warn)]":"text-[var(--text-faint)]",children:Me}):t.jsxs(t.Fragment,{children:[u==="project"?null:u==="html"?t.jsx("span",{className:"block text-[var(--text-muted)] tabular-nums",children:r(s.html.mode==="film"?"exportCenter.htmlFilmSummary":"exportCenter.htmlSummary").replace("{n}",String(Se))}):t.jsx("span",{className:"block text-[var(--text-muted)] tabular-nums",children:r("exportCenter.summary").replace("{n}",String(we)).replace("{dur}",$(bt))}),Be?t.jsx("span",{className:"block text-[11px] text-[var(--text-faint)] tabular-nums",children:`${r("exportCenter.approx")} ${Be}`}):null]})}),t.jsxs("button",{type:"button",onClick:()=>{Ge(se)},disabled:yt,className:"flex h-10 shrink-0 items-center gap-2 rounded-xl bg-[var(--text)] px-6 text-[13.5px] font-medium text-[var(--bg)] transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-40",children:[_?t.jsx(Ue,{size:14,className:"animate-spin"}):null,kt]})]})]})]}),t.jsxs("aside",{className:"hidden w-[212px] shrink-0 flex-col overflow-y-auto border-l border-[var(--border-soft)] bg-[var(--surface-2)] px-4 pb-4 pt-4 min-[980px]:flex",children:[t.jsx("h4",{className:"text-[12px] font-semibold tracking-tight text-[var(--text)]",children:r("exportCenter.draftParams")}),t.jsxs("dl",{className:"mt-3 flex flex-col gap-2.5",children:[t.jsx(z,{k:r("exportCenter.dpName"),v:a.title}),t.jsx(z,{k:r("exportCenter.dpColor"),v:"Rec.709 SDR"}),t.jsx(z,{k:r("exportCenter.dpRatio"),v:vr(g.w,g.h)}),t.jsx(z,{k:r("exportCenter.dpRes"),v:`${g.w} × ${g.h}`}),t.jsx(z,{k:r("exportCenter.dpDuration"),v:$(v)}),t.jsx(z,{k:r("exportCenter.dpFps"),v:a.projectFps?`${a.projectFps} fps`:r("exportCenter.dpFpsSource")}),t.jsx(z,{k:r("exportCenter.dpScenes"),v:N?String(N.scenes.length):"—"}),t.jsx(z,{k:r("exportCenter.dpSubs"),v:String(y)}),t.jsx(z,{k:r("exportCenter.dpFolder"),v:le||"—"})]})]})]})}),document.body)}function br(a){return a.replace(/[\\/]+$/,"").split(/[\\/]/).pop()||a}function z({k:a,v:o}){return t.jsxs("div",{className:"min-w-0",children:[t.jsx("dt",{className:"text-[10.5px] leading-snug text-[var(--text-faint)]",children:a}),t.jsx("dd",{className:"break-all text-[11.5px] leading-snug text-[var(--text)]",children:o})]})}function vr(a,o){const i=a/Math.max(1,o),r=[[16/9,"16:9"],[9/16,"9:16"],[4/3,"4:3"],[3/4,"3:4"],[1,"1:1"],[3/2,"3:2"],[2/3,"2:3"],[21/9,"21:9"],[5/4,"5:4"],[4/5,"4:5"]];for(const[c,f]of r)if(Math.abs(i-c)<.02)return f;return`${i.toFixed(2)}:1`}function p({label:a,children:o}){return t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("span",{className:"text-[11.5px] font-medium uppercase tracking-wide text-[var(--text-faint)]",children:a}),o]})}function L({children:a}){return t.jsx("p",{className:"text-[11.5px] leading-relaxed text-[var(--text-faint)]",children:a})}function jr({children:a}){return t.jsxs("div",{className:"flex items-start gap-2 rounded-xl border border-[var(--border)] bg-[var(--surface-2)] px-3 py-2.5 text-[12px] leading-relaxed text-[var(--text-muted)]",children:[t.jsx(Bt,{size:14,className:"mt-0.5 shrink-0 text-[var(--warn)]"}),t.jsx("span",{children:a})]})}function U({on:a,disabled:o,title:i,desc:r,onClick:c}){return t.jsxs("button",{type:"button","aria-pressed":a,disabled:o,onClick:c,className:`flex flex-col items-start gap-0.5 rounded-xl border px-3 py-2.5 text-left transition disabled:cursor-not-allowed disabled:opacity-45 ${a?"border-[var(--text)] bg-[var(--bg-hover)]":"border-[var(--border)] hover:border-[var(--text-faint)]"}`,children:[t.jsx("span",{className:"text-[12.5px] font-medium text-[var(--text)]",children:i}),t.jsx("span",{className:"text-[11px] leading-snug text-[var(--text-faint)]",children:r})]})}function Ie({label:a,value:o,rates:i,own:r,onPick:c}){const f=[...new Set([...i,...r?[r.fps]:[]])].sort((x,I)=>x-I),m=x=>`${x} fps${r&&x===r.fps?` · ${r.note}`:""}`;return t.jsx(_e,{size:"md",label:a,value:String(o),groups:[{choices:f.map(x=>({value:String(x),label:m(x)}))}],onPick:x=>c(Number(x))})}function V({value:a,options:o,onChange:i}){return t.jsx("div",{className:"flex flex-wrap items-start gap-1.5",children:o.map(r=>{const c=r.value===a;return t.jsxs("button",{type:"button","aria-pressed":c,onClick:()=>i(r.value),className:`flex min-w-[56px] flex-col items-center rounded-lg border px-2.5 py-1.5 transition ${c?"border-[var(--text)] bg-[var(--bg-hover)] text-[var(--text)]":"border-[var(--border)] text-[var(--text-muted)] hover:border-[var(--text-faint)]"}`,children:[t.jsx("span",{className:"text-[12.5px] font-medium tabular-nums",children:r.label}),r.sub?t.jsx("span",{className:"text-[10px] tabular-nums text-[var(--text-faint)]",children:r.sub}):null]},String(r.value))})})}function O({value:a,options:o,onChange:i}){return t.jsx("div",{className:"inline-flex max-w-full self-start overflow-x-auto rounded-full border border-[var(--border)] bg-[var(--bg)] p-[3px]",children:o.map(r=>t.jsx("button",{type:"button","aria-pressed":r.value===a,onClick:()=>i(r.value),className:`shrink-0 whitespace-nowrap rounded-full px-3 py-1 text-[12px] font-medium transition ${r.value===a?"bg-[var(--surface-3,var(--bg-hover))] text-[var(--text)] shadow-[var(--shadow-sm)]":"text-[var(--text-muted)] hover:text-[var(--text)]"}`,children:r.label},r.value))})}function F({checked:a,onChange:o,label:i,disabled:r,locked:c}){const f=r?"text-[var(--text-faint)]":a||c?"text-[var(--text)]":"text-[var(--text-muted)]";return t.jsxs("label",{className:`flex select-none items-center gap-2.5 text-[12.5px] ${f} ${r||c?"cursor-default":"cursor-pointer"}`,children:[t.jsx("button",{type:"button",role:"switch","aria-checked":a||!!c,"aria-readonly":c||void 0,disabled:r,onClick:()=>{c||o(!a)},className:`relative h-[18px] w-[30px] shrink-0 rounded-full transition ${a||c?"bg-[var(--text)]":"bg-[var(--border-strong,var(--border))]"} ${c?"cursor-default":""} disabled:opacity-50`,children:t.jsx("span",{className:`absolute top-[2px] h-[14px] w-[14px] rounded-full bg-[var(--bg)] transition-[left] ${a||c?"left-[14px]":"left-[2px]"}`})}),i]})}function it({checked:a,onChange:o,label:i,hint:r,size:c,disabled:f,locked:m}){return t.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(F,{checked:a,onChange:o,label:i,disabled:f,locked:m}),c&&t.jsx("span",{className:"ml-auto font-mono text-[11px] tabular-nums text-[var(--text-faint)]",children:c})]}),t.jsx("p",{className:"pl-[40px] text-[11.5px] leading-snug text-[var(--text-faint)]",children:r})]})}function ct({value:a,onChange:o,t:i}){return t.jsx(O,{value:a,options:[{value:"standard",label:i("exportCenter.qStandard")},{value:"high",label:i("exportCenter.qHigh")},{value:"master",label:i("exportCenter.qMaster")}],onChange:o})}function ut({frame:a,stage:o,fill:i="contain"}){const r=ne(o,a,i),c=14/Math.max(r.w,r.h),f=Math.max(6,r.w*c),m=Math.max(6,r.h*c);return t.jsx("span",{className:"relative inline-block shrink-0 overflow-hidden rounded-[2px] border border-[var(--text-faint)]",style:{width:f,height:m},children:t.jsx("span",{className:"absolute bg-[var(--text-muted)] opacity-50",style:{left:r.inner.left*c,top:r.inner.top*c,width:r.inner.w*c,height:r.inner.h*c}})})}function ae({value:a,fill:o,current:i,stage:r,onChange:c,onFill:f,t:m}){const x=a==="current"?i:a,I=x!=="native"&&Math.abs(Ot(x,r)-r.w/Math.max(1,r.h))>.01;return t.jsxs(p,{label:m("exportCenter.frame"),children:[t.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[[...We,...We.includes(x)?[]:[x]].map(k=>{const s=x===k;return t.jsxs("button",{type:"button","aria-pressed":s,onClick:()=>c(k===i?"current":k),className:`flex items-center gap-1.5 rounded-lg border px-2.5 py-1.5 text-[12px] font-medium transition ${s?"border-[var(--text)] bg-[var(--bg-hover)] text-[var(--text)]":"border-[var(--border)] text-[var(--text-muted)] hover:border-[var(--text-faint)]"}`,children:[t.jsx(ut,{frame:k,stage:r,fill:o}),k==="native"?m("exportCenter.frameNative"):k]},k)}),t.jsx(qt,{chip:!0,value:x,onPick:k=>c(k===i?"current":k)})]}),I&&t.jsx(O,{value:o,options:[{value:"contain",label:m("exportCenter.fillContain")},{value:"cover",label:m("exportCenter.fillCover")}],onChange:f})]})}export{kr as ExportCenter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as W,R as m,j as e,P as ye,C as G,a as ke,u as M,s as T,L as B,b as Be,d as Oe,e as Q,D as ue,f as J,g as Ue,X as we,B as ge,M as Ie,h as Ne,E as Se,i as _e,T as Ce,k as $e,p as We,r as He,S as Ge,l as Ve,m as Ye,n as Je,o as Ze,q as fe,t as Qe,v as Ee,w as oe,x as Xe,y as ae,z as Me,A as et}from"./index-CWur1Iw9.js";const tt=W("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);const st=W("Keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]);const nt=W("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);const at=W("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);const rt=W("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);const it=W("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);const lt=W("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),ot=["codex","claude","gemini","copilot","cursor","opencode","codebuddy","qwen","kimi"],ct=["deepseek"];function te(t){return ct.includes(t)}function xe({label:t,value:s,options:a,onChange:n,width:r}){const[c,o]=m.useState(!1),x=m.useRef(null),h=m.useRef({text:"",at:0}),u=a.find(d=>d.value===s)??a[0];m.useEffect(()=>{if(!c)return;const d=requestAnimationFrame(()=>(x.current?.querySelector('[aria-selected="true"]')??x.current?.querySelector('[role="option"]'))?.focus());return()=>cancelAnimationFrame(d)},[c]);const b=d=>{o(!1),d.value!==s&&n(d.value)},l=d=>{const g=Array.from(x.current?.querySelectorAll('[role="option"]')??[]),y=g.indexOf(document.activeElement);if(d.key==="ArrowDown"||d.key==="ArrowUp")d.preventDefault(),g[(y+(d.key==="ArrowDown"?1:-1)+g.length)%g.length]?.focus();else if(d.key==="Home"||d.key==="End")d.preventDefault(),g[d.key==="Home"?0:g.length-1]?.focus();else if(d.key.length===1&&!d.metaKey&&!d.ctrlKey&&!d.altKey){const C=Date.now();h.current={text:(C-h.current.at<700?h.current.text:"")+d.key.toLowerCase(),at:C};const E=a.findIndex($=>$.label.toLowerCase().startsWith(h.current.text));E>=0&&g[E]?.focus()}};return e.jsx(ye,{open:c,onOpenChange:o,placement:"auto",align:"end",layer:10060,trigger:e.jsxs("button",{type:"button","aria-label":`${t}: ${u.label}`,"aria-haspopup":"listbox","aria-expanded":c,style:r?{width:r}:void 0,className:`flex h-10 max-w-full items-center gap-2 ${r?"":"w-auto"} rounded-[8px] border px-3 text-left text-[14.5px] text-[var(--text)] transition ${c?"border-[var(--text-muted)]":"border-[var(--border)] hover:border-[var(--border-strong)]"}`,children:[u.icon?e.jsx("span",{className:"flex shrink-0 text-[var(--text-muted)]",children:u.icon}):null,e.jsx("span",{className:r?"min-w-0 flex-1 truncate":"whitespace-nowrap",children:u.label}),e.jsx(ke,{size:15,className:"shrink-0 text-[var(--text-muted)]"})]}),children:e.jsx("div",{ref:x,role:"listbox","aria-label":t,onKeyDown:l,style:{minWidth:r??160},className:"max-h-[min(320px,var(--popover-max-h))] overflow-y-auto rounded-[10px] border border-[var(--border)] bg-[var(--surface)] p-1 shadow-[var(--shadow-lg)]",children:a.map(d=>{const g=d.value===s;return e.jsxs("button",{type:"button",role:"option","aria-selected":g,onClick:()=>b(d),className:"flex h-9 w-full items-center gap-2 rounded-[6px] px-2 text-left text-[14.5px] text-[var(--text)] outline-none hover:bg-[var(--bg-hover)] focus-visible:bg-[var(--bg-hover)]",children:[d.icon?e.jsx("span",{className:"flex shrink-0 text-[var(--text-muted)]",children:d.icon}):null,e.jsx("span",{className:"min-w-0 flex-1 truncate",children:d.label}),e.jsx(G,{size:16,className:g?"shrink-0 text-[var(--text)]":"invisible shrink-0"})]},d.value)})})})}function H({note:t,children:s}){return e.jsxs("div",{className:"flex max-w-[880px] flex-col",children:[t?e.jsx("p",{className:"mb-8 text-[14.5px] leading-relaxed text-[var(--text-muted)]",children:t}):null,s]})}function F({title:t,footnote:s,children:a}){return e.jsxs("section",{className:"mb-10 last:mb-0",children:[t?e.jsx("h3",{className:"mb-1 text-[17px] font-semibold tracking-[-0.01em] text-[var(--text)]",children:t}):null,e.jsx("div",{className:"flex flex-col divide-y divide-[var(--border)]",children:a}),s?e.jsx("p",{className:"pt-2 text-[13.5px] leading-relaxed text-[var(--text-faint)]",children:s}):null]})}function z({mark:t,title:s,badge:a,description:n,control:r,children:c}){return e.jsxs("div",{className:"py-4",children:[e.jsxs("div",{className:"flex min-h-10 items-center gap-4",children:[t?e.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[8px] bg-[var(--fill-tsp)] text-[var(--text)]",children:t}):null,e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-0.5",children:[e.jsx("span",{className:"text-[15px] text-[var(--text)]",children:s}),a]}),n?e.jsx("div",{className:"mt-1 text-[14px] leading-[1.55] text-[var(--text-muted)]",children:n}):null]}),r?e.jsx("div",{className:"flex shrink-0 items-center gap-2",children:r}):null]}),c?e.jsx("div",{className:"pt-3",children:c}):null]})}function U({tone:t="ok",children:s}){return e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[13.5px] text-[var(--text-muted)]",children:[e.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${t==="ok"?"bg-[var(--ok)]":"bg-[var(--text-faint)]"}`,"aria-hidden":!0}),s]})}const Ae={default:"border border-[var(--border)] text-[var(--text)] hover:bg-[var(--bg-hover)]",primary:"border border-transparent bg-[var(--text)] text-[var(--bg)] hover:opacity-90",quiet:"border border-transparent text-[var(--text-muted)] hover:bg-[var(--bg-hover)] hover:text-[var(--text)]"};function k({variant:t="default",className:s="",...a}){return e.jsx("button",{type:"button",...a,className:`inline-flex h-9 shrink-0 items-center justify-center gap-1.5 rounded-[8px] px-3.5 text-[14px] font-medium transition disabled:pointer-events-none disabled:opacity-50 ${Ae[t]} ${s}`})}function dt({className:t="",...s}){return e.jsx("a",{target:"_blank",rel:"noreferrer",...s,className:`inline-flex h-9 shrink-0 items-center justify-center gap-1.5 rounded-[8px] px-3.5 text-[14px] font-medium transition ${Ae.default} ${t}`})}function Z({checked:t,onChange:s,label:a,disabled:n}){return e.jsx("button",{type:"button",role:"switch","aria-checked":t,"aria-label":a,title:a,disabled:n,onClick:()=>s(!t),className:`relative h-6 w-10 shrink-0 rounded-full transition-colors disabled:opacity-50 ${t?"bg-[var(--text)]":"bg-[var(--surface-3)]"}`,children:e.jsx("span",{className:`absolute top-[3px] h-[18px] w-[18px] rounded-full bg-[var(--bg)] shadow-[0_1px_2px_rgba(0,0,0,0.2)] transition-all ${t?"left-[19px]":"left-[3px]"}`})})}function ze({label:t,value:s,options:a,onChange:n}){return e.jsx("div",{role:"radiogroup","aria-label":t,className:"inline-flex shrink-0 gap-0.5 rounded-[10px] bg-[var(--fill-tsp)] p-[3px]",children:a.map(r=>{const c=r.value===s;return e.jsxs("button",{type:"button",role:"radio","aria-checked":c,onClick:()=>{c||n(r.value)},className:`inline-flex h-[30px] items-center gap-1.5 whitespace-nowrap rounded-[7px] px-3 text-[14px] transition ${c?"bg-[var(--dock-pane)] text-[var(--text)] shadow-[0_1px_2px_rgba(0,0,0,0.08)] ring-1 ring-[var(--border)]":"text-[var(--text-muted)] hover:text-[var(--text)]"}`,children:[r.icon?e.jsx("span",{className:"flex shrink-0",children:r.icon}):null,r.label]},r.value)})})}const q=m.forwardRef(function({className:s="",...a},n){return e.jsx("input",{ref:n,...a,className:`h-10 w-full min-w-0 rounded-[8px] border border-[var(--border)] bg-transparent px-3 text-[14px] text-[var(--text)] outline-none transition placeholder:text-[var(--text-faint)] hover:border-[var(--border-strong)] focus:border-[var(--text-muted)] ${s}`})});function X({children:t}){return e.jsx("div",{className:"flex flex-col gap-2.5 rounded-[10px] border border-[var(--border)] p-4",children:t})}const re="inline-flex items-center gap-1 text-[var(--text-muted)] underline-offset-2 hover:text-[var(--text)] hover:underline",I="text-[13.5px] leading-relaxed text-[var(--err)]",Re=["codex"];function ut(){const[t,s]=m.useState(null);return m.useEffect(()=>{const a=T?.agents;if(!a)return;let n=!0;a.list().then(o=>{n&&s(o)}).catch(()=>{});const r=a.onChange(o=>s(o)),c=()=>{a.list(!0).then(o=>{n&&s(o)}).catch(()=>{})};return window.addEventListener("focus",c),()=>{n=!1,r(),window.removeEventListener("focus",c)}},[]),t}function xt({id:t}){return t==="byok"?e.jsx(tt,{size:16}):e.jsx(J,{id:Ue(t),size:17})}function pt(t){const[s,a]=m.useState({}),n=(t??[]).filter(r=>Re.includes(r.id)&&r.status==="ready").map(r=>r.id).join(",");return m.useEffect(()=>{const r=T?.agents?.usage;if(!r||!n)return;let c=!0;const o=()=>{for(const x of n.split(","))r(x).then(h=>{c&&a(u=>({...u,[x]:h}))}).catch(()=>{c&&a(h=>({...h,[x]:null}))})};return o(),window.addEventListener("focus",o),()=>{c=!1,window.removeEventListener("focus",o)}},[n]),s}function mt({window:t}){const s=M(),a=Q(),n=t.kind==="five_hour"?s("settings.agents.usageFiveHour"):t.kind==="seven_day"?s("settings.agents.usageWeek"):s("settings.agents.usageWindow").replace("{hours}",String(Math.round((t.minutes??0)/60))),r=Math.round(t.usedPercent),c=(()=>{if(t.resetsAt==null)return null;const o=Math.max(0,Math.round((t.resetsAt-Date.now())/6e4)),x=new Intl.RelativeTimeFormat(a,{numeric:"auto"}),h=o<60?x.format(o,"minute"):o<2880?x.format(Math.round(o/60),"hour"):x.format(Math.round(o/1440),"day");return s("settings.agents.usageResets").replace("{time}",h)})();return e.jsxs("div",{className:"flex items-center gap-3 text-[13px]",children:[e.jsx("span",{className:"w-[92px] shrink-0 text-[var(--text-muted)]",children:n}),e.jsx("div",{className:"h-1.5 min-w-[80px] flex-1 overflow-hidden rounded-full bg-[var(--fill-tsp)]",role:"progressbar","aria-label":n,"aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,children:e.jsx("div",{className:`h-full rounded-full ${r>=90?"bg-[var(--danger,#e5484d)]":r>=70?"bg-[var(--warn,#f5a524)]":"bg-[var(--text)]"}`,style:{width:`${Math.max(r,1.5)}%`}})}),e.jsx("span",{className:"w-[64px] shrink-0 text-right tabular-nums text-[var(--text)]",children:s("settings.agents.usageUsed").replace("{percent}",String(r))}),e.jsx("span",{className:"w-[120px] shrink-0 truncate text-[var(--text-faint)]",children:c??""})]})}function ht(){const t=M(),s=ut(),a=pt(s),n=T?.agents,[r,c]=m.useState(null),[o,x]=m.useState(null),[h,u]=m.useState(null),[b,l]=m.useState(null);if(!n)return null;const d=(i,S)=>{c(i),x(null),S().then(N=>{const K=N;K&&K.ok===!1&&x({id:i,text:K.error??t("settings.agents.failed")})}).catch(N=>x({id:i,text:N instanceof Error?N.message:String(N)})).finally(()=>c(null))},g=i=>d(i.id,async()=>{const S=await n.locate(i.id,{title:t("settings.agents.locateTitle").replace("{name}",i.name),button:t("settings.agents.locateButton")});return S.ok&&l(null),S.ok||!S.error&&!S.code?{ok:!0}:S.code==="not-a-program"?{ok:!1,error:t("settings.agents.notAProgram")}:S.code==="did-not-start"?{ok:!1,error:`${t("settings.agents.didNotStart")} ${S.error??""}`.trim()}:S}),y=i=>{l({id:i.id,report:null}),n.diagnose(i.id).then(S=>l(N=>N?.id===i.id?{id:i.id,report:S}:N)).catch(S=>{l(null),x({id:i.id,text:S instanceof Error?S.message:String(S)})})},C=i=>{switch(i.hint){case"chosen-missing":return t("settings.agents.hintChosenMissing");case"wsl":return t("settings.agents.hintWsl");case"unusable":return t("settings.agents.hintUnusable");case"none":return t("settings.agents.hintNone").replaceAll("{program}",i.program??"");default:return i.found?t("settings.agents.hintFound").replace("{path}",i.found):null}},E=(i,S)=>{navigator.clipboard.writeText(i.text).then(()=>l(N=>N?.id===S?{...N,copied:!0}:N)).catch(()=>{})},$=i=>{switch(i.status){case"off":return t("settings.agents.off");case"sign-in":return t("settings.agents.signedOut");case"waiting":return t("settings.agents.waiting");case"missing":return i.setupRequired==="code-tab"?t("settings.agents.claudeSetup"):t("settings.agents.missing");case"key":return t("settings.agents.needsKey");case"unavailable":return t("settings.agents.unavailable");case"checking":return t("settings.agents.checking");default:return null}},D=i=>{const S=a[i.id]?.account,N=i.account?{...i.account,...S?.email?{email:S.email}:{},...S?.plan&&!i.account.plan?{plan:S.plan}:{}}:null;if(!N)return null;const K=N.method==="chatgpt"?t("settings.agents.accountChatgpt"):N.method==="api-key"?t("settings.agents.accountApiKey"):N.method==="console"?t("settings.agents.accountConsole"):null,L=N.plan?N.plan.charAt(0).toUpperCase()+N.plan.slice(1):null,_=[N.org,N.email,L,N.email||N.org?null:K].filter(Boolean);return _.length?_.join(" · "):null},f=(i,S=!0)=>{const N=r===i.id,K=!te(i.id);if(i.status==="ready"&&S){const L=n.locate&&i.id!=="byok"&&K;return e.jsxs(e.Fragment,{children:[L?e.jsxs(k,{variant:"quiet",disabled:N,onClick:()=>g(i),children:[N?e.jsx(B,{size:16,className:"animate-spin","aria-hidden":!0}):null,t("settings.agents.locate")]}):null,e.jsx(k,{variant:"quiet",disabled:N,title:i.id==="byok"?void 0:t("settings.agents.disconnectHint").replaceAll("{name}",i.name),onClick:()=>d(i.id,()=>n.disconnect(i.id)),children:t("settings.agents.disconnect")})]})}if(i.status==="missing"){const L=n.locate&&i.setupRequired!=="code-tab"&&!te(i.id);return!i.install&&!L?null:e.jsxs(e.Fragment,{children:[L?e.jsxs(k,{variant:"quiet",disabled:N,onClick:()=>g(i),children:[N?e.jsx(B,{size:16,className:"animate-spin","aria-hidden":!0}):null,t("settings.agents.locate")]}):null,i.install?e.jsxs(dt,{href:i.install,children:[e.jsx(ue,{size:16}),t("settings.agents.install")]}):null]})}return i.status==="key"?e.jsx(k,{onClick:()=>u(i.id),children:t("settings.agents.setUpKey")}):i.status==="unavailable"?null:i.status==="checking"?e.jsx(B,{size:16,className:"animate-spin text-[var(--text-muted)]","aria-hidden":!0}):e.jsxs(k,{disabled:N||i.status==="waiting",onClick:()=>d(i.id,()=>n.connect(i.id)),children:[N?e.jsx(B,{size:16,className:"animate-spin","aria-hidden":!0}):null,i.status==="sign-in"?t("settings.agents.signIn"):t("settings.agents.connect")]})},j=(i,S=!0)=>{const N=i.id==="byok"||te(i.id)?i.byok:void 0,K=o?.id===i.id?o.text:i.error,L=h===i.id,_=!!n.diagnose&&i.status==="missing"&&i.setupRequired!=="code-tab",P=b?.id===i.id?b:null,ee=a[i.id],me=S&&i.status==="ready"&&Re.includes(i.id)&&!!n.usage&&(ee===void 0||!!ee?.windows.length),he=P?.report?C(P.report):null;return e.jsx(z,{mark:e.jsx(xt,{id:i.id}),title:i.id==="byok"?t("settings.agents.byokName"):Oe(i.id,i.name,t),badge:e.jsxs(e.Fragment,{children:[i.id==="codex"||i.id==="claude"?e.jsx("span",{title:t("settings.agents.recommendedHint"),className:"inline-flex h-[18px] items-center rounded-full border border-[var(--border)] px-1.5 text-[11px] text-[var(--text-muted)]",children:t("settings.agents.recommended")}):null,i.status==="ready"&&S?e.jsx(U,{children:N?`${De(i).join(", ")} · •••• ${i.byok.last4}`:t("settings.agents.ready")}):null]}),description:i.status==="ready"?D(i):$(i),control:e.jsxs(e.Fragment,{children:[N&&!L?e.jsx(k,{variant:"quiet",onClick:()=>u(i.id),children:t("settings.agents.change")}):null,f(i,S),f(i,S)?e.jsx("span",{className:"mx-1 h-5 w-px bg-[var(--border)]","aria-hidden":!0}):null,e.jsx(Z,{checked:i.shown,label:t("settings.agents.showInChat"),onChange:Y=>{n.setShown(i.id,Y)}})]}),children:i.status==="waiting"||L||K||i.chosen||_||me?e.jsxs("div",{className:"flex flex-col gap-1.5 pl-[34px]",children:[me?e.jsx("div",{className:"flex flex-col gap-1.5","aria-label":t("settings.agents.usage"),children:ee===void 0?e.jsxs("p",{className:"flex items-center gap-1.5 text-[13px] text-[var(--text-faint)]",children:[e.jsx(B,{size:13,className:"animate-spin","aria-hidden":!0}),t("settings.agents.usageLoading")]}):ee?.windows.map(Y=>e.jsx(mt,{window:Y},Y.kind+(Y.minutes??"")))}):null,i.chosen?e.jsxs("p",{className:"break-all text-[13.5px] leading-relaxed text-[var(--text-muted)]",children:[t("settings.agents.chosenAt").replace("{path}",i.chosen)," ",n.useAutomatic?e.jsx("button",{type:"button",onClick:()=>d(i.id,()=>n.useAutomatic(i.id)),className:"underline underline-offset-2 hover:text-[var(--text)]",children:t("settings.agents.automatic")}):null]}):null,_&&!P?e.jsx("p",{className:"text-[13.5px] leading-relaxed text-[var(--text-muted)]",children:e.jsx("button",{type:"button",onClick:()=>y(i),className:"underline underline-offset-2 hover:text-[var(--text)]",children:t("settings.agents.whyMissing")})}):null,_&&P&&!P.report?e.jsxs("p",{className:"flex items-center gap-1.5 text-[13.5px] text-[var(--text-muted)]",children:[e.jsx(B,{size:14,className:"animate-spin","aria-hidden":!0}),t("settings.agents.searching")]}):null,_&&P?.report?e.jsxs(X,{children:[he?e.jsx("p",{className:"break-words text-[14px] leading-relaxed text-[var(--text)]",children:he}):null,e.jsx("p",{className:"text-[13px] leading-relaxed text-[var(--text-faint)]",children:t("settings.agents.reportNote")}),e.jsxs("div",{className:"flex justify-end gap-1.5",children:[e.jsx(k,{variant:"quiet",onClick:()=>l(null),children:t("settings.agents.close")}),e.jsxs(k,{onClick:()=>E(P.report,i.id),children:[P.copied?e.jsx(G,{size:15,"aria-hidden":!0}):e.jsx(Be,{size:15,"aria-hidden":!0}),P.copied?t("settings.agents.copied"):t("settings.agents.copyReport")]})]})]}):null,i.status==="waiting"?e.jsxs("p",{className:"text-[14.5px] leading-relaxed text-[var(--text-muted)]",children:[t("settings.agents.waitingHint")," ",e.jsx("button",{type:"button",onClick:()=>d(i.id,()=>n.connect(i.id)),className:"underline underline-offset-2 hover:text-[var(--text)]",children:t("settings.agents.startAgain")})]}):null,L?e.jsx(vt,{agent:i,onDone:()=>u(null)}):null,K?e.jsx("p",{className:I,children:K}):null]}):null},i.id)},p=s??[],A=i=>p.find(S=>S.id===i),v=["codex","claude","byok"].map(A).filter(i=>!!i),w=p.filter(i=>ot.includes(i.id)&&!v.includes(i)),R=p.filter(i=>te(i.id)),O=[...v,...w.filter(i=>i.shown),...R.filter(i=>i.shown)],V=[...R.filter(i=>!i.shown),...w.filter(i=>!i.shown)];return e.jsxs(H,{note:t("settings.agents.intro"),children:[e.jsx(F,{title:t("settings.agents.groupYours"),footnote:t("settings.agents.showHint"),children:O.map(i=>j(i))}),V.length?e.jsx(F,{title:t("settings.agents.groupMore"),children:V.map(i=>j(i,!1))}):null]})}const se=[{value:"responses",label:"OpenAI Responses",address:"https://api.openai.com/v1"},{value:"chat",label:"OpenAI Chat Completions",address:"https://api.openai.com/v1"},{value:"anthropic",label:"Anthropic Messages",address:"https://api.anthropic.com"}],De=t=>t.byok?.models?.length?t.byok.models:t.preset?.models??[t.byok?.model??""].filter(Boolean),ve=t=>[...new Set(t.split(/[,\n]/).map(s=>s.trim()).filter(Boolean))],gt=t=>De(t).map(s=>({name:s,...t.byok?.efforts?.[s]??{levels:["auto"],effort:"auto"}}));function ft({row:t,onChange:s,onRemove:a}){const n=M(),r=o=>n(`settings.agents.effortLevels.${o}`),c=o=>{const x=t.levels.includes(o);if(x&&t.levels.length===1)return;const h=ge.filter(u=>u===o?!x:t.levels.includes(u));s({...t,levels:h,effort:h.includes(t.effort)?t.effort:h[0]})};return e.jsxs("div",{className:"flex flex-col gap-2 rounded-[8px] border border-[var(--border)] px-3 py-2.5",children:[e.jsxs("div",{className:"flex min-h-8 items-center gap-2",children:[e.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[13.5px] text-[var(--text)]",title:t.name,children:t.name}),t.levels.length>1?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"shrink-0 text-[13px] text-[var(--text-muted)]",children:n("settings.agents.effortStart")}),e.jsx(xe,{label:n("settings.agents.effortStart"),value:t.effort,width:128,onChange:o=>s({...t,effort:o}),options:t.levels.map(o=>({value:o,label:r(o)}))})]}):null,e.jsx("button",{type:"button",onClick:a,"aria-label":n("settings.agents.removeModel").replace("{name}",t.name),title:n("settings.agents.removeModel").replace("{name}",t.name),className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-[6px] text-[var(--text-faint)] transition hover:bg-[var(--bg-hover)] hover:text-[var(--text)]",children:e.jsx(we,{size:14,"aria-hidden":!0})})]}),e.jsx("div",{role:"group","aria-label":`${n("settings.agents.efforts")} · ${t.name}`,className:"flex flex-wrap items-center gap-1",children:ge.map(o=>{const x=t.levels.includes(o);return e.jsxs("button",{type:"button","aria-pressed":x,onClick:()=>c(o),className:`inline-flex h-7 items-center gap-1 rounded-full border px-2.5 text-[12.5px] transition ${x?"border-[var(--text-muted)] bg-[var(--fill-tsp)] text-[var(--text)]":"border-[var(--border)] text-[var(--text-muted)] hover:border-[var(--border-strong)] hover:text-[var(--text)]"}`,children:[x?e.jsx(G,{size:12,"aria-hidden":!0}):null,r(o)]},o)})})]})}function vt({agent:t,onDone:s}){const a=M(),n=T?.agents,[r,c]=m.useState(t.byok?.format??t.preset?.format??"responses"),o=se.find(v=>v.value===r),[x,h]=m.useState(t.byok?.baseUrl??t.preset?.baseUrl??o.address),[u,b]=m.useState(()=>gt(t)),[l,d]=m.useState(""),g=()=>{const v=ve(l).filter(w=>!u.some(R=>R.name===w));v.length&&b(w=>[...w,...v.map(R=>({name:R,levels:["auto"],effort:"auto"}))]),d("")},y=()=>[...u,...ve(l).filter(v=>!u.some(w=>w.name===v)).map(v=>({name:v,levels:["auto"],effort:"auto"}))],[C,E]=m.useState(""),[$,D]=m.useState({busy:!1,error:null}),f=v=>{(se.some(w=>w.address===x.trim())||!x.trim())&&h(se.find(w=>w.value===v).address),c(v)},j=()=>{if(!n)return;D({busy:!0,error:null});const v=y();n.configureByok({provider:t.id,format:r,baseUrl:x,models:v.map(w=>w.name),efforts:Object.fromEntries(v.map(w=>[w.name,{levels:w.levels,effort:w.effort}])),...C?{key:C}:{}}).then(w=>{w.ok?(E(""),d(""),D({busy:!1,error:null}),s()):D({busy:!1,error:w.error??a("settings.agents.failed")})}).catch(w=>D({busy:!1,error:w instanceof Error?w.message:String(w)}))},p=y().length>0&&x.trim()&&(C.trim()||t.byok),A=v=>e.jsx("span",{className:"w-[92px] shrink-0 text-[13px] text-[var(--text-muted)]",children:v});return e.jsx(X,{children:e.jsxs("form",{className:"contents",onSubmit:v=>{v.preventDefault(),p&&!$.busy&&j()},children:[e.jsxs("div",{className:"flex items-center gap-2",children:[A(a("settings.agents.format")),e.jsx(xe,{label:a("settings.agents.format"),value:r,onChange:f,width:220,options:se.map(v=>({value:v.value,label:v.label}))})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[A(a("settings.agents.address")),e.jsx(q,{value:x,onChange:v=>h(v.target.value),placeholder:o.address,"aria-label":a("settings.agents.address"),spellCheck:!1})]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"flex h-10 items-center",children:A(a("settings.agents.model"))}),e.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[u.map(v=>e.jsx(ft,{row:v,onChange:w=>b(R=>R.map(O=>O.name===v.name?w:O)),onRemove:()=>b(w=>w.filter(R=>R.name!==v.name))},v.name)),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{value:l,onChange:v=>d(v.target.value),placeholder:a("settings.agents.modelPlaceholder"),"aria-label":a("settings.agents.model"),spellCheck:!1,onKeyDown:v=>{v.key==="Enter"&&l.trim()&&(v.preventDefault(),g())}}),e.jsx(k,{onClick:g,disabled:!l.trim(),children:a("settings.agents.addModel")})]}),u.length?e.jsx("p",{className:"text-[12.5px] leading-relaxed text-[var(--text-faint)]",children:a("settings.agents.effortHint")}):null]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[A(a("settings.agents.key")),e.jsx(q,{type:"password",value:C,onChange:v=>E(v.target.value),autoComplete:"off",className:"font-mono placeholder:font-sans",placeholder:t.byok?a("settings.agents.keyKept").replace("{last4}",t.byok.last4):a("settings.agents.keyPlaceholder"),"aria-label":a("settings.agents.key")})]}),e.jsx("p",{className:"text-[13px] leading-relaxed text-[var(--text-faint)]",children:a("settings.agents.byokNote")}),$.error?e.jsx("p",{className:I,children:$.error}):null,e.jsxs("div",{className:"flex justify-end gap-1.5",children:[e.jsx(k,{variant:"quiet",onClick:s,children:a("settings.agents.cancel")}),e.jsxs(k,{type:"submit",variant:"primary",disabled:$.busy||!p,children:[$.busy?e.jsx(B,{size:15,className:"animate-spin","aria-hidden":!0}):null,$.busy?a("settings.agents.checkingKey"):a("settings.agents.save")]})]})]})})}function bt(t,s){return t.providers.filter(a=>!a.source&&a.verbs.includes(s)).map(a=>a.name).sort((a,n)=>a.localeCompare(n))}const jt=(t,s)=>t.providers.some(a=>a.verbs.includes(s)),yt=["tts","music","sfx","asr","image","image-search","video","translate","web-search"];async function ce(t,s){const a=await fetch(`/api/providers${t}`,{method:s?.method??"GET",cache:"no-store",headers:s?.json===void 0?void 0:{"content-type":"application/json"},body:s?.json===void 0?void 0:JSON.stringify(s.json)}),n=await a.json().catch(()=>({}));if(!a.ok)throw new Error(n.error??`Studio answered ${a.status}`);return n}function pe(){const[t,s]=m.useState(null),[a,n]=m.useState(null),[r,c]=m.useState(null),[o,x]=m.useState(null);m.useEffect(()=>{let l=!0,d=0;const g=y=>{ce("").then(C=>{l&&(s(C),n(null),c(null))},C=>{l&&(y<4?d=window.setTimeout(()=>g(y+1),1e3*2**y):n(C.message))})};return g(0),()=>{l=!1,window.clearTimeout(d)}},[]);const h=m.useCallback(async(l,d,g)=>{x(l),n(null);try{const y=await ce(d,g),{whisper:C,separator:E,...$}=y,D=d.split("/")[1]??"";return s(()=>!C&&!E?$:{...$,providers:$.providers.map(f=>f.id!==D?f:C?{...f,whisper:C}:E?{...f,separator:E}:f)}),$}catch(y){return n(y instanceof Error?y.message:String(y)),c(l),null}finally{x(null)}},[]),u=m.useCallback(async()=>{try{s(await ce("")),n(null),c(null)}catch(l){n(l instanceof Error?l.message:String(l))}},[]),b=t?.providers.some(l=>[...l.whisper?.models??[],...l.separator?.models??[]].some(d=>d.progress!=null))??!1;return m.useEffect(()=>{if(!b)return;const l=window.setInterval(()=>{u()},1500);return()=>window.clearInterval(l)},[b,u]),{state:t,problem:a,problemFor:r,busy:o,saveKey:async(l,d)=>!!await h(l,`/${encodeURIComponent(l)}/key`,{method:"PUT",json:{key:d}}),removeKey:async l=>{await h(l,`/${encodeURIComponent(l)}/key`,{method:"DELETE"})},useEnvKey:async l=>!!await h(l,`/${encodeURIComponent(l)}/key`,{method:"PUT",json:{env:!0}}),choose:async(l,d,g)=>{await h(l,"/use",{method:"PUT",json:{verb:l,provider:d||null,...g}})},saveService:async(l,d)=>!!await h(l??"custom",l?`/custom/${encodeURIComponent(l)}`:"/custom",{method:l?"PUT":"POST",json:d}),removeService:async l=>{await h(l,`/custom/${encodeURIComponent(l)}`,{method:"DELETE"})},reload:u,downloadModel:async(l,d)=>{await h(`${l}:${d}`,`/${encodeURIComponent(l)}/models`,{method:"POST",json:{model:d}})},removeModel:async(l,d)=>{await h(`${l}:${d}`,`/${encodeURIComponent(l)}/models/${encodeURIComponent(d)}`,{method:"DELETE"})}}}async function ne(t,s){const a=await fetch(`/api/video-models${t}`,{method:s?.method??"GET",cache:"no-store",headers:s?.json===void 0?void 0:{"content-type":"application/json"},body:s?.json===void 0?void 0:JSON.stringify(s.json)}),n=await a.json().catch(()=>({}));if(!a.ok)throw new Error(n.error??`Studio answered ${a.status}`);return n}function kt(){const[t,s]=m.useState(null),[a,n]=m.useState(null),[r,c]=m.useState(null);m.useEffect(()=>{let u=!0,b=0;const l=d=>{ne("").then(g=>{u&&(s(g),n(null))},g=>{u&&(d<4?b=window.setTimeout(()=>l(d+1),1e3*2**d):n(g.message))})};return l(0),()=>{u=!1,window.clearTimeout(b)}},[]);const o=async u=>{c("endpoint"),n(null);try{const b=await ne("",{method:"PUT",json:{endpoint:u}});return s(b),b.local.reachable===!0}catch(b){return n(b instanceof Error?b.message:String(b)),!1}finally{c(null)}},x=async()=>{c("check"),n(null);try{s(await ne("/check",{method:"POST"}))}catch(u){n(u instanceof Error?u.message:String(u))}finally{c(null)}},h=m.useCallback(async()=>{try{s(await ne("")),n(null)}catch(u){n(u instanceof Error?u.message:String(u))}},[]);return{state:t,problem:a,busy:r,save:o,check:x,reload:h}}function wt({onConnect:t}){const s=M(),a=kt(),n=pe(),[r,c]=m.useState(null),[o,x]=m.useState(""),[h,u]=m.useState(!1),[b,l]=m.useState(null),d=a.state?.cloud??[],g=d.filter(p=>p.builtin),y=d.filter(p=>!p.builtin),C=a.state?.local,E=n.state?{provider:n.state.use.video??null,model:n.state.model.video??null}:null,$=()=>{c(null),x(""),l(null)},D=async p=>{if(!p.provider||!o.trim()||h)return;u(!0),l(null);const A=await n.saveKey(p.provider,o.trim());if(u(!1),!A){l(n.problem??s("settings.video.cloud.keyRefused"));return}$(),await a.reload();const v=!n.state?.use.video;await n.reload(),v&&p.model&&await n.choose("video",p.provider,{model:p.model})},f=p=>{const A=p.via??"",v=s("settings.video.cloud.pasteKey").replace("{service}",A);return e.jsx("form",{className:"pl-[34px]",onSubmit:w=>{w.preventDefault(),D(p)},children:e.jsxs(X,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{type:"password",autoFocus:!0,autoComplete:"off",spellCheck:!1,value:o,onChange:w=>x(w.target.value),onKeyDown:w=>{w.key==="Escape"&&(w.preventDefault(),$())},placeholder:v,"aria-label":v,className:"flex-1 font-mono placeholder:font-sans"}),e.jsx(k,{variant:"quiet",onClick:$,children:s("settings.video.cloud.cancel")}),e.jsx(k,{type:"submit",variant:"primary",disabled:!o.trim()||h,children:s("settings.video.cloud.save")})]}),b?e.jsx("p",{className:I,role:"alert",children:b}):null,p.keysUrl?e.jsxs("a",{href:p.keysUrl,target:"_blank",rel:"noreferrer",className:`${re} text-[13.5px]`,children:[s("settings.video.cloud.getKey").replace("{service}",A),e.jsx(Se,{size:12})]}):null]})})},j=p=>e.jsx(Nt,{model:p,on:!!(E&&p.provider&&E.provider===p.provider&&E.model===p.model),busy:n.busy==="video"||h,onUse:()=>{p.provider&&p.model&&n.choose("video",p.provider,{model:p.model})},onConnect:()=>{if(!p.builtin){t();return}c(p.id),x(""),l(null)},below:p.builtin&&r===p.id?f(p):null},p.id);return e.jsxs(H,{note:s("settings.video.desc"),children:[e.jsx(F,{title:s("settings.video.cloud.title"),footnote:s("settings.video.cloud.note"),children:g.map(j)}),y.length?e.jsx(F,{title:s("settings.video.cloud.more"),footnote:s("settings.video.cloud.moreNote"),children:y.map(j)}):null,C?e.jsx(St,{local:C,hook:a}):null,a.problem?e.jsx("p",{className:I,children:a.problem}):null]})}function Nt({model:t,on:s,busy:a,onUse:n,onConnect:r,below:c}){const o=M(),x=t.builtin?t.connected?s?e.jsxs(U,{children:[e.jsx(G,{size:14,"aria-hidden":!0}),o("settings.video.cloud.using")]}):e.jsx(k,{disabled:a,onClick:n,children:o("settings.video.cloud.use")}):e.jsx(k,{onClick:r,children:o("settings.video.cloud.connect")}):e.jsx(k,{variant:"quiet",onClick:r,children:o("settings.video.cloud.addOwn")});return e.jsx(z,{mark:t.provider?e.jsx(J,{id:t.provider,size:17}):e.jsx(Ne,{size:16}),title:t.name,badge:t.maker?e.jsx("span",{className:"text-[13.5px] text-[var(--text-faint)]",children:t.maker}):null,description:t.builtin?t.connected?o("settings.video.cloud.servedBy").replace("{service}",t.via??""):o("settings.video.cloud.notConnected").replace("{service}",t.via??""):o("settings.video.cloud.own"),control:x,children:c})}function St({local:t,hook:s}){const a=M(),[n,r]=m.useState(t.endpoint);m.useEffect(()=>{r(t.endpoint)},[t.endpoint]);const c=s.busy,o=n.trim().replace(/\/+$/,"")!==t.endpoint,x=()=>{c||s.save(n)};return e.jsxs(F,{title:a("settings.video.local.title"),footnote:a("settings.video.local.note"),children:[e.jsx(z,{mark:e.jsx(Ie,{size:16}),title:a("settings.video.local.endpoint"),description:a("settings.video.local.endpointHint"),badge:c?e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[13.5px] text-[var(--text-muted)]",children:[e.jsx(B,{size:13,className:"animate-spin","aria-hidden":!0}),a("settings.video.local.asking")]}):t.reachable===!0?e.jsx(U,{children:a("settings.video.local.reachable")}):t.reachable===!1?e.jsx(U,{tone:"muted",children:a("settings.video.local.unreachable")}):null,control:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{"aria-label":a("settings.video.local.endpoint"),value:n,spellCheck:!1,placeholder:"http://127.0.0.1:8188",onChange:h=>r(h.target.value),onKeyDown:h=>{h.key==="Enter"&&(h.preventDefault(),x())},className:"w-[248px] font-mono text-[13.5px]"}),e.jsx(k,{disabled:!!c,onClick:x,children:a(o?"settings.video.local.save":"settings.video.local.check")})]})}),t.models.map(h=>e.jsx(z,{title:h.name,badge:e.jsx("span",{className:"text-[13.5px] text-[var(--text-faint)]",children:h.maker}),description:e.jsx("span",{className:"font-mono text-[12.5px] text-[var(--text-faint)]",children:h.nodes.join(" / ")}),control:h.installed?e.jsxs(U,{children:[e.jsx(G,{size:14,"aria-hidden":!0}),a("settings.video.local.installed")]}):e.jsx(U,{tone:"muted",children:a("settings.video.local.missing")})},h.id))]})}function Ct({onConnect:t}){const s=M(),a=pe(),n=a.state,r=!!n?.providers.some(c=>c.source);return e.jsxs(H,{note:s("settings.models.desc"),children:[n&&!r?e.jsx(F,{children:e.jsx(z,{description:s("settings.models.nothing"),title:s("settings.models.goConnect"),control:e.jsx(k,{onClick:t,children:s("settings.models.goConnect")})})}):null,n?e.jsx(F,{footnote:s("settings.models.otherBody"),children:yt.filter(c=>jt(n,c)).map(c=>e.jsx($t,{verb:c,hook:a,onConnect:t},c))}):null,a.problem?e.jsx("p",{className:I,children:a.problem}):null]})}function $t({verb:t,hook:s,onConnect:a}){const n=M(),r=s.state,c=n(`settings.providers.verbs.${t}`),o=r.use[t]??"",x=[];for(const d of r.providers)if(d.source&&d.verbs.includes(t)||d.id===o)for(const g of d.models[t]??[])x.push({value:`${d.id}:${g.id}`,provider:d.id,providerName:d.name,name:g.name,pick:{model:g.id}});x.sort((d,g)=>d.providerName.localeCompare(g.providerName));const h=d=>r.providers.find(g=>g.id===d)?.models[t]?.[0]?.id,u=o?`${o}:${r.model[t]??h(o)??""}`:"",b=x.find(d=>d.value===u),l=bt(r,t);return e.jsx(z,{title:c,description:n(`settings.models.about.${t}`),control:e.jsx(Et,{label:c,choices:x,current:b??null,busy:s.busy===t,could:l,onConnect:a,onPick:d=>{s.choose(t,d?.provider??"",d?.pick)}})})}function Et({label:t,choices:s,current:a,busy:n,could:r,onConnect:c,onPick:o}){const x=M(),h=Q(),[u,b]=m.useState(!1),l=m.useRef(null),d=s.length===0,g=s.reduce((f,j)=>{const p=f.find(A=>A.provider===j.provider);return p?p.choices.push(j):f.push({provider:j.provider,name:j.providerName,choices:[j]}),f},[]);m.useEffect(()=>{if(!u)return;const f=requestAnimationFrame(()=>(l.current?.querySelector('[aria-selected="true"]')??l.current?.querySelector('[role="option"]'))?.focus());return()=>cancelAnimationFrame(f)},[u]);const y=f=>{if(f.key!=="ArrowDown"&&f.key!=="ArrowUp")return;f.preventDefault();const j=Array.from(l.current?.querySelectorAll('[role="option"]')??[]),p=j.indexOf(document.activeElement);j[(p+(f.key==="ArrowDown"?1:-1)+j.length)%j.length]?.focus()},C=f=>{b(!1),f?.value!==a?.value&&o(f)},E=(f,j)=>{const p=(f?.value??"")===(a?.value??"");return e.jsxs("button",{type:"button",role:"option","aria-selected":p,onClick:()=>C(f),className:"flex h-9 w-full items-center gap-2 rounded-[6px] px-2 text-left text-[14.5px] text-[var(--text)] outline-none hover:bg-[var(--bg-hover)] focus-visible:bg-[var(--bg-hover)]",children:[e.jsx("span",{className:"min-w-0 flex-1 truncate",children:j}),p?e.jsx(G,{size:17,className:"shrink-0 text-[var(--text-muted)]"}):null]},f?.value??"")},$=r.length?x("settings.models.connectNamed").replace("{names}",new Intl.ListFormat(h,{type:"disjunction"}).format(r)):x("settings.models.goConnect"),D=d?e.jsxs("button",{type:"button","aria-label":`${t}: ${$}`,title:$,disabled:n,onClick:c,className:"flex h-10 w-[280px] items-center gap-2 rounded-[8px] border border-[var(--border)] px-3 text-left text-[14.5px] text-[var(--text-muted)] transition hover:border-[var(--border-strong)] hover:text-[var(--text)] disabled:opacity-60",children:[e.jsx("span",{className:"min-w-0 flex-1 truncate",children:$}),e.jsx(_e,{size:15,className:"shrink-0"})]}):e.jsxs("button",{type:"button","aria-label":t,"aria-haspopup":"listbox","aria-expanded":u,disabled:n,className:`flex h-10 w-[280px] items-center gap-2 rounded-[8px] border px-3 text-left text-[14.5px] text-[var(--text)] transition disabled:opacity-60 ${u?"border-[var(--text-muted)]":"border-[var(--border)] hover:border-[var(--border-strong)]"}`,children:[a?e.jsx(J,{id:a.provider,size:15}):null,e.jsx("span",{className:`min-w-0 flex-1 truncate ${a?"":"text-[var(--text-muted)]"}`,children:a?`${a.providerName} · ${a.name}`:x("settings.models.none")}),e.jsx(ke,{size:15,className:"shrink-0 text-[var(--text-muted)]"})]});return e.jsx("div",{className:"shrink-0",children:e.jsx(ye,{open:u&&!d,onOpenChange:b,placement:"auto",align:"end",layer:10060,trigger:D,children:e.jsxs("div",{ref:l,role:"listbox","aria-label":t,onKeyDown:y,className:"max-h-[min(360px,var(--popover-max-h))] w-[288px] overflow-y-auto rounded-[10px] border border-[var(--border)] bg-[var(--surface)] p-1 shadow-[var(--shadow-lg)]",children:[g.map(f=>e.jsxs("div",{className:"mb-1",role:"group","aria-label":f.name,children:[e.jsxs("div",{className:"flex items-center gap-1.5 px-2 pb-1 pt-1.5 text-[14px] font-medium text-[var(--text-muted)]",children:[e.jsx(J,{id:f.provider,size:15}),f.name]}),f.choices.map(j=>E(j,j.name))]},f.provider)),e.jsx("div",{className:"border-t border-[var(--border-soft)] pt-1",children:E(null,x("settings.models.none"))})]})})})}const Mt=["tts","music","sfx","asr","image","image-search","video","translate","web-search"];function At({highlight:t=null}){const s=M(),a=pe(),n=[...a.state?.providers??[]].sort((r,c)=>r.name.localeCompare(c.name));return e.jsxs(H,{note:s("settings.providers.desc"),children:[e.jsx(F,{footnote:s("settings.providers.keyNote"),children:n.map(r=>r.local?r.separator?e.jsx(Lt,{provider:r,hook:a,highlighted:t===r.id},r.id):r.whisper?e.jsx(qt,{provider:r,hook:a,highlighted:t===r.id},r.id):e.jsx(Tt,{provider:r,hook:a,highlighted:t===r.id},r.id):e.jsx(Kt,{provider:r,hook:a,highlighted:t===r.id},r.id))}),e.jsx(Rt,{hook:a}),a.problem&&!n.some(r=>r.id===a.problemFor)&&!zt(a)?e.jsx("p",{className:I,children:a.problem}):null]})}const zt=t=>t.problemFor==="custom"||!!t.state?.custom.some(s=>s.id===t.problemFor);function Rt({hook:t}){const s=M(),a=t.state?.custom??[],[n,r]=m.useState(null);return t.state?e.jsxs(F,{title:s("settings.providers.own.title"),footnote:s("settings.providers.own.note"),children:[a.map(c=>e.jsx(z,{mark:e.jsx(it,{size:16}),title:c.name,badge:c.last4?e.jsx(U,{tone:"muted",children:e.jsxs("span",{className:"font-mono tabular-nums",children:["•••• ",c.last4]})}):null,description:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-mono text-[13px] text-[var(--text-faint)]",children:c.url}),c.note?e.jsx("span",{className:"mt-0.5 block whitespace-pre-line",children:c.note}):null]}),control:n===c.id?null:e.jsxs(e.Fragment,{children:[e.jsx(k,{variant:"quiet",disabled:t.busy===c.id,onClick:()=>{t.removeService(c.id)},children:s("settings.providers.own.remove")}),e.jsx(k,{onClick:()=>r(c.id),children:s("settings.providers.own.edit")})]}),children:n===c.id?e.jsx(be,{hook:t,service:c,onDone:()=>r(null)}):null},c.id)),n===""?e.jsx("div",{className:"py-4",children:e.jsx(be,{hook:t,service:null,onDone:()=>r(null)})}):e.jsx("div",{className:"py-4",children:e.jsxs(k,{onClick:()=>r(""),children:[e.jsx($e,{size:15,strokeWidth:2}),s("settings.providers.own.add")]})})]}):null}function be({hook:t,service:s,onDone:a}){const n=M(),[r,c]=m.useState({name:s?.name??"",url:s?.url??"",auth:s?.auth??Dt,note:s?.note??""}),[o,x]=m.useState(""),[h,u]=m.useState(!1),b=t.busy===(s?.id??"custom"),l=y=>C=>c(E=>({...E,[y]:C.target.value})),d=async()=>{if(b||!r.name.trim()||!r.url.trim())return;const y={...r,...o.trim()?{key:o.trim()}:h||!s?{key:""}:{}};await t.saveService(s?.id??null,y)&&a()},g=(y,C)=>e.jsxs("label",{className:"flex flex-col gap-1.5 text-[13.5px] text-[var(--text-muted)]",children:[y,C]});return e.jsx("form",{className:s?"pl-[52px]":"",onSubmit:y=>{y.preventDefault(),d()},onKeyDown:y=>{y.key==="Escape"&&(y.preventDefault(),a())},children:e.jsxs(X,{children:[g(n("settings.providers.own.name"),e.jsx(q,{autoFocus:!0,value:r.name,onChange:l("name"),placeholder:n("settings.providers.own.namePlaceholder")})),g(n("settings.providers.own.url"),e.jsx(q,{value:r.url,onChange:l("url"),placeholder:"http://localhost:8000",spellCheck:!1,className:"font-mono placeholder:font-sans"})),g(n("settings.providers.own.key"),e.jsx(q,{type:"password",autoComplete:"off",spellCheck:!1,value:o,onChange:y=>{x(y.target.value),u(!1)},placeholder:s?.last4&&!h?n("settings.providers.own.keyKeep").replaceAll("{last4}",s.last4):n("settings.providers.own.keyOptional"),className:"font-mono placeholder:font-sans"})),s?.last4&&!o&&!h?e.jsx("button",{type:"button",className:`${re} self-start text-[13.5px]`,onClick:()=>u(!0),children:n("settings.providers.own.removeKey")}):null,g(n("settings.providers.own.auth"),e.jsx(q,{value:r.auth,onChange:l("auth"),spellCheck:!1,className:"font-mono"})),g(n("settings.providers.own.what"),e.jsx("textarea",{value:r.note,onChange:l("note"),rows:3,maxLength:600,placeholder:n("settings.providers.own.whatPlaceholder"),className:"w-full min-w-0 resize-y rounded-[8px] border border-[var(--border)] bg-transparent px-3 py-2 text-[14px] leading-[1.5] text-[var(--text)] outline-none transition placeholder:text-[var(--text-faint)] hover:border-[var(--border-strong)] focus:border-[var(--text-muted)]"})),t.problem&&t.problemFor===(s?.id??"custom")?e.jsx("p",{className:I,role:"alert",children:t.problem}):null,e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(k,{variant:"quiet",onClick:a,children:n("settings.providers.cancel")}),e.jsx(k,{type:"submit",variant:"primary",disabled:b||!r.name.trim()||!r.url.trim(),children:n("settings.providers.save")})]})]})})}const Dt="Authorization: Bearer {key}";function ie({id:t,name:s,badge:a,children:n,action:r,below:c,highlighted:o=!1}){const x=m.useRef(null);return m.useEffect(()=>{if(!o)return;const h=x.current;h&&(h.scrollIntoView({block:"center"}),h.querySelector("[data-row-action]")?.focus({preventScroll:!0}))},[o]),e.jsx("div",{ref:x,"data-provider":t,...o?{"data-highlight":""}:{},className:"rounded-[10px] transition-colors duration-500",style:o?{background:"var(--bg-active)",outline:"2px solid var(--text-muted)",outlineOffset:2}:void 0,children:e.jsx(z,{mark:e.jsx(J,{id:t,size:17}),title:s,badge:a,description:n,control:r,children:c})})}function le({children:t}){const s=M();return e.jsxs(U,{children:[s("settings.providers.connected"),t]})}function Ft(t,s){const a=t.map((n,r)=>r?s(`settings.providers.verbs.${n}`).toLowerCase():s(`settings.providers.verbs.${n}`));return a.length>1?`${a.slice(0,-1).join(", ")} ${s("settings.providers.and")} ${a.at(-1)}`:a[0]??""}function Kt({provider:t,hook:s,highlighted:a=!1}){const n=M(),[r,c]=m.useState(!1),[o,x]=m.useState(""),h=s.busy===t.id,u=()=>{c(!1),x("")},b=async()=>{!o.trim()||h||await s.saveKey(t.id,o)&&u()},l=n("settings.providers.pasteKey").replaceAll("{name}",t.name);return e.jsx(ie,{id:t.id,name:t.name,highlighted:a,badge:t.source?e.jsx(le,{children:e.jsxs("span",{className:"font-mono tabular-nums text-[var(--text-faint)]","aria-label":n("settings.providers.keyEnding").replaceAll("{last4}",t.last4??""),children:["•••• ",t.last4]})}):null,action:t.source?e.jsx(k,{variant:"quiet",disabled:h,onClick:()=>{s.removeKey(t.id)},children:n("settings.providers.disconnect")}):r?null:e.jsxs(k,{onClick:()=>c(!0),children:[e.jsx($e,{size:15,strokeWidth:2}),n("settings.providers.connect")]}),below:r&&!t.source?e.jsx("form",{className:"pl-[34px]",onSubmit:d=>{d.preventDefault(),b()},children:e.jsxs(X,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q,{type:"password",autoFocus:!0,autoComplete:"off",spellCheck:!1,value:o,onChange:d=>x(d.target.value),onKeyDown:d=>{d.key==="Escape"&&(d.preventDefault(),u())},placeholder:l,"aria-label":l,className:"flex-1 font-mono placeholder:font-sans"}),e.jsx(k,{variant:"quiet",onClick:u,children:n("settings.providers.cancel")}),e.jsx(k,{type:"submit",variant:"primary",disabled:!o.trim()||h,children:n("settings.providers.save")})]}),s.problem&&s.problemFor===t.id?e.jsx("p",{className:I,role:"alert",children:s.problem}):null,t.envKey?e.jsx("button",{type:"button",disabled:h,onClick:()=>{s.useEnvKey(t.id).then(d=>{d&&u()})},className:`${re} self-start text-[14.5px]`,children:n("settings.providers.useEnv").replaceAll("{env}",t.env)}):null,e.jsxs("a",{href:t.keysUrl,target:"_blank",rel:"noreferrer",className:`${re} text-[14.5px]`,children:[n("settings.providers.getKey").replaceAll("{name}",t.name),e.jsx(Se,{size:12})]})]})}):null,children:Ft(Mt.filter(d=>t.verbs.includes(d)),n)})}function Fe(t){return t>=1024*1024*1024?`${(t/1024**3).toFixed(1)} GB`:`${Math.round(t/1024**2)} MB`}function Tt({provider:t,hook:s,highlighted:a=!1}){const n=M(),r=s.state?.use.tts===t.id;return e.jsxs(ie,{id:t.id,name:t.name,highlighted:a,badge:e.jsx(le,{}),action:null,children:[e.jsx("span",{className:"block",children:n("settings.providers.edge.desc")}),e.jsx("span",{className:"mt-1 block text-[12.5px] text-[var(--text-faint)]",children:n("settings.providers.edge.languages")}),e.jsxs("span",{className:"mt-1.5 flex items-center gap-2",children:[e.jsx("span",{className:"min-w-0 flex-1 text-[13px] text-[var(--text-faint)]",children:n(r?"settings.providers.edge.ready":"settings.providers.edge.pick")}),r?null:e.jsx(k,{variant:"quiet","data-row-action":!0,disabled:s.busy==="edge-tts:tts",onClick:()=>{s.choose("tts",t.id)},children:n("settings.providers.edge.use")})]})]})}function Lt({provider:t,hook:s,highlighted:a=!1}){const n=M(),r=t.separator,c=s.busy?.startsWith(`${t.id}:`)?s.busy:null;return e.jsxs(ie,{id:t.id,name:t.name,highlighted:a,badge:r?.models.some(o=>o.downloaded)?e.jsx(le,{}):null,action:null,children:[e.jsx("span",{className:"block",children:n("settings.providers.separate.desc")}),e.jsx("span",{className:"mt-1.5 block",children:r?.models.map(o=>{const x=c===`${t.id}:${o.id}`;return e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"shrink-0 text-[13.5px] text-[var(--text)]",children:o.name}),e.jsx("span",{className:"shrink-0 text-[12.5px] tabular-nums text-[var(--text-faint)]",children:Fe(o.bytes)}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-[12.5px] text-[var(--text-faint)]",children:o.progress!=null?n("settings.providers.local.progress").replace("{p}",`${Math.round(o.progress*100)}`):o.error??""}),o.downloaded?e.jsxs(k,{variant:"quiet",disabled:x,onClick:()=>{s.removeModel(t.id,o.id)},children:[e.jsx(Ce,{size:14,strokeWidth:2}),n("settings.providers.local.remove")]}):e.jsxs(k,{"data-row-action":!0,disabled:x||o.progress!=null,onClick:()=>{s.downloadModel(t.id,o.id)},children:[e.jsx(ue,{size:14,strokeWidth:2}),n("settings.providers.local.download")]})]},o.id)})}),e.jsx("span",{className:"mt-1 block text-[12.5px] text-[var(--text-faint)]",children:n("settings.providers.separate.note")})]})}function qt({provider:t,hook:s,highlighted:a=!1}){const n=M(),r=t.whisper,c=s.busy?.startsWith(`${t.id}:`)?s.busy:null,o=t.id==="local-whisper",x=o?t.name:`${t.name}${n("settings.providers.sensevoice.tag")}`,h=(r?.models.length??0)>1;return e.jsxs(ie,{id:t.id,name:x,highlighted:a,badge:r?.models.some(u=>u.downloaded)?e.jsx(le,{}):null,action:null,children:[e.jsx("span",{className:"block",children:n(o?"settings.providers.local.desc":"settings.providers.sensevoice.desc")}),o?e.jsx("span",{className:"mt-1.5 block text-[13px] text-[var(--text)]",children:n("settings.providers.local.chinese")}):null,e.jsx("span",{className:"mt-1.5 block",children:r?.models.map(u=>{const b=c===`${t.id}:${u.id}`;return e.jsxs("span",{className:"mb-1 block",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[h?e.jsx("span",{className:"w-[9.5em] shrink-0 truncate text-[13.5px] text-[var(--text)]",children:u.name}):null,e.jsx("span",{className:"shrink-0 text-[12.5px] tabular-nums text-[var(--text-faint)]",children:Fe(u.bytes)}),u.vram!=null?e.jsx("span",{className:"shrink-0 text-[12.5px] tabular-nums text-[var(--text-faint)]",children:n("settings.providers.local.vram").replace("{g}",String(u.vram))}):null,e.jsx("span",{className:"min-w-0 flex-1 truncate text-[12.5px] text-[var(--text-faint)]",children:u.progress!=null?n("settings.providers.local.progress").replace("{p}",`${Math.round(u.progress*100)}`):u.error??""}),u.downloaded?e.jsxs(k,{variant:"quiet",disabled:b,onClick:()=>{s.removeModel(t.id,u.id)},children:[e.jsx(Ce,{size:14,strokeWidth:2}),n("settings.providers.local.remove")]}):e.jsxs(k,{"data-row-action":!0,disabled:b||u.progress!=null,onClick:()=>{s.downloadModel(t.id,u.id)},children:[e.jsx(ue,{size:14,strokeWidth:2}),n("settings.providers.local.download")]})]}),u.languages?.length?e.jsx("span",{className:"mt-0.5 block text-[12px] text-[var(--text-faint)]",children:n("settings.providers.local.languages").replace("{list}",u.languages.map(l=>n(`settings.providers.local.lang.${l}`)).join(n("settings.providers.local.langSep")))}):null]},u.id)})}),o?e.jsx("span",{className:"mt-1 block text-[12.5px] text-[var(--text-faint)]",children:n("settings.providers.local.vramHint")}):null,r?.models.some(u=>u.downloaded)?s.state?.use.asr===t.id?e.jsx("span",{className:"mt-0.5 block text-[13px] text-[var(--text-faint)]",children:n("settings.providers.local.ready")}):e.jsxs("span",{className:"mt-0.5 flex items-center gap-2",children:[e.jsx("span",{className:"min-w-0 flex-1 text-[13px] text-[var(--text-faint)]",children:n("settings.providers.local.pick")}),e.jsx(k,{variant:"quiet","data-row-action":!0,disabled:s.busy===`${t.id}:asr`,onClick:()=>{s.choose("asr",t.id)},children:n("settings.providers.local.use")})]}):null]})}const Ke="aicut.theme",Te=()=>window.matchMedia("(prefers-color-scheme: dark)");function Le(){try{const t=localStorage.getItem(Ke);return t==="light"||t==="system"?t:"dark"}catch{return"dark"}}function qe(t){document.documentElement.dataset.theme=t==="system"?Te().matches?"dark":"light":t}const de=new Set;typeof window<"u"&&Te().addEventListener("change",()=>{Le()==="system"&&qe("system")});function Pt(t){try{localStorage.setItem(Ke,t)}catch{}qe(t);for(const s of de)s()}function Bt(){return[m.useSyncExternalStore(s=>(de.add(s),()=>de.delete(s)),Le,()=>"dark"),Pt]}const Ot=[{group:"settings",sections:["general",...T?.agents?["agents"]:[],"video","providers","models"]},{group:"help",sections:["shortcuts",...T?.developer?["developer"]:[]]}],Ut=[{label:"settings.links.github",href:"https://github.com/autoaiai/aicut"},{label:"settings.links.examples",href:"https://github.com/aicut/examples"},{label:"settings.links.site",href:"https://aicut.dev"}],It={general:e.jsx(Je,{size:18,strokeWidth:1.75}),agents:e.jsx(Ye,{size:18,strokeWidth:1.75}),video:e.jsx(Ne,{size:18,strokeWidth:1.75}),providers:e.jsx(rt,{size:18,strokeWidth:1.75}),models:e.jsx(Ve,{size:18,strokeWidth:1.75}),developer:e.jsx(lt,{size:18,strokeWidth:1.75}),shortcuts:e.jsx(st,{size:18,strokeWidth:1.75})},je={general:["settings.appearance","settings.performance","settings.playback"],agents:"settings.agents",video:"settings.video",providers:"settings.providers",models:"settings.models",developer:"settings.developer",shortcuts:"settings.shortcuts"};function Xt({open:t,onClose:s,section:a,highlight:n}){const r=M(),c=Q(),[o,x]=m.useState("general"),[h,u]=m.useState(""),[b,l]=m.useState(!1),d=m.useRef(null),g=m.useRef(null),y=m.useRef(s);y.current=s;const C=m.useRef(n);C.current=n,m.useLayoutEffect(()=>{t&&(x(a??"general"),u(""))},[t,a]);const E=m.useMemo(()=>Object.fromEntries(Object.keys(je).map(p=>[p,[r(`settings.sections.${p}`),...[je[p]].flat().flatMap(A=>We(A,c))].join(`
|
|
2
|
-
`).toLowerCase()])),[r,c]),$=h.trim().toLowerCase(),D=Ot.map(p=>({...p,sections:p.sections.filter(A=>!$||E[A].includes($))})).filter(p=>p.sections.length>0),f=D.flatMap(p=>p.sections),j=f.includes(o)?o:f[0]??null;return m.useEffect(()=>{if(!t)return;const p=document.activeElement,A=R=>{if(R.defaultPrevented||(R.key==="Escape"&&y.current(),R.key!=="Tab"||!d.current?.contains(document.activeElement)))return;const O=Array.from(d.current.querySelectorAll('button:not(:disabled), a[href], input:not(:disabled), select:not(:disabled), [tabindex="0"]')).filter(S=>S.getClientRects().length>0),V=O[0],i=O[O.length-1];R.shiftKey&&document.activeElement===V?(R.preventDefault(),i?.focus()):!R.shiftKey&&document.activeElement===i&&(R.preventDefault(),V?.focus())};window.addEventListener("keydown",A);const v=document.body.style.overflow;document.body.style.overflow="hidden";const w=requestAnimationFrame(()=>{l(!0),C.current||g.current?.focus()});return()=>{window.removeEventListener("keydown",A),document.body.style.overflow=v,cancelAnimationFrame(w),l(!1),p?.isConnected&&p.focus()}},[t]),t?He.createPortal(e.jsx("div",{className:"fixed inset-0 z-[10050] grid place-items-center p-6",style:{background:"rgba(0,0,0,0.5)",opacity:b?1:0,transition:"opacity 160ms ease"},onMouseDown:p=>{p.target===p.currentTarget&&s()},children:e.jsxs("div",{ref:d,role:"dialog","aria-modal":"true","aria-labelledby":"settings-title",className:"relative flex h-[min(800px,90vh)] w-full max-w-[1120px] overflow-hidden rounded-[14px] border border-[var(--border)] bg-[var(--dock-pane)] shadow-[0_24px_64px_-12px_rgba(0,0,0,0.5),0_4px_16px_rgba(0,0,0,0.14)]",style:{opacity:b?1:0,transform:b?"scale(1)":"scale(0.98)",transition:"opacity 160ms ease, transform 200ms ease"},children:[e.jsxs("nav",{"aria-label":r("settings.title"),className:"flex w-[264px] shrink-0 flex-col overflow-y-auto border-r border-[var(--border)] px-3 pb-4 pt-3",children:[e.jsxs("label",{className:"mb-3 flex h-10 shrink-0 items-center gap-2.5 rounded-[9px] border border-[var(--border)] px-3 text-[var(--text-muted)] transition focus-within:border-[var(--text-muted)]",children:[e.jsx(Ge,{size:17,strokeWidth:1.75,className:"shrink-0","aria-hidden":!0}),e.jsx("input",{ref:g,value:h,onChange:p=>u(p.target.value),placeholder:r("settings.search"),"aria-label":r("settings.search"),className:"min-w-0 flex-1 bg-transparent text-[15px] text-[var(--text)] outline-none placeholder:text-[var(--text-faint)]"})]}),D.map(p=>e.jsxs("div",{className:"mt-3 flex flex-col gap-0.5",children:[e.jsx("div",{className:"px-2.5 pb-1.5 text-[13px] text-[var(--text-faint)]",children:r(p.group==="help"?"settings.groups.help":"settings.title")}),p.sections.map(A=>{const v=j===A;return e.jsxs("button",{type:"button","aria-current":v?"page":void 0,onClick:()=>x(A),className:`flex h-10 min-w-0 items-center gap-3 rounded-[8px] px-2.5 text-left text-[15px] transition ${v?"bg-[var(--bg-active)] text-[var(--text)]":"text-[var(--text-dim)] hover:bg-[var(--bg-hover)] hover:text-[var(--text)]"}`,children:[e.jsx("span",{className:`shrink-0 ${v?"text-[var(--text)]":"text-[var(--text-muted)]"}`,children:It[A]}),e.jsx("span",{className:"min-w-0 truncate",children:r(`settings.sections.${A}`)})]},A)})]},p.group)),f.length===0?e.jsx("p",{className:"px-2.5 pt-4 text-[14px] text-[var(--text-faint)]",children:r("settings.noResults")}):null,e.jsx("div",{className:"mt-auto flex flex-wrap gap-x-4 gap-y-1 px-2.5 pt-6 text-[13px] text-[var(--text-faint)]",children:Ut.map(p=>e.jsx("a",{href:p.href,target:"_blank",rel:"noreferrer",className:"rounded-[4px] transition hover:text-[var(--text)]",children:r(p.label)},p.href))})]}),e.jsxs("div",{className:"relative flex min-w-0 flex-1 flex-col",children:[e.jsx("button",{type:"button",onClick:s,"aria-label":r("settings.done"),className:"absolute right-4 top-4 z-10 flex h-9 w-9 items-center justify-center rounded-[8px] text-[var(--text-muted)] transition hover:bg-[var(--bg-hover)] hover:text-[var(--text)]",children:e.jsx(we,{size:19,strokeWidth:1.75})}),e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain px-10 pb-12 pt-9",children:[j?e.jsx("h2",{id:"settings-title",className:"mb-7 text-[22px] font-semibold tracking-[-0.015em] text-[var(--text)]",children:r(`settings.sections.${j}`)}):null,j==="general"&&e.jsx(_t,{}),j==="agents"&&e.jsx(ht,{}),j==="video"&&e.jsx(wt,{onConnect:()=>{u(""),x("providers")}}),j==="providers"&&e.jsx(At,{highlight:n??null}),j==="models"&&e.jsx(Ct,{onConnect:()=>{u(""),x("providers")}}),j==="developer"&&e.jsx(Jt,{}),j==="shortcuts"&&e.jsx(Zt,{})]},j??"none")]})]})}),document.body):null}function _t(){const t=M(),[s,a]=Bt(),[n,r]=Ze(),c=Q(),o=fe.find(x=>x.code===c)?.name??c;return e.jsxs(H,{children:[e.jsxs(F,{title:t("settings.appearance.group"),children:[e.jsx(z,{title:t("settings.appearance.theme"),description:t("settings.appearance.themeHint"),control:e.jsx(ze,{label:t("settings.appearance.theme"),value:s,onChange:a,options:[{value:"system",label:t("settings.appearance.system"),icon:e.jsx(nt,{size:15})},{value:"light",label:t("settings.appearance.light"),icon:e.jsx(Qe,{size:15})},{value:"dark",label:t("settings.appearance.dark"),icon:e.jsx(at,{size:15})}]})}),e.jsx(z,{title:t("settings.appearance.language"),description:n==="system"?`${t("settings.appearance.languageHint")} · ${o}`:t("settings.appearance.languageHint"),control:e.jsx(xe,{label:t("settings.appearance.language"),value:n,onChange:r,options:[{value:"system",label:t("settings.appearance.languageSystem")},...fe.map(x=>({value:x.code,label:x.name}))]})})]}),e.jsx(Wt,{}),e.jsx(Ht,{}),T?.update?.onState?e.jsx(Yt,{}):e.jsx(Gt,{})]})}function Wt(){const t=M(),s=T?.acceleration,[a,n]=m.useState(null);if(m.useEffect(()=>{if(s)return s.get().then(n).catch(()=>{}),s.onChange(n)},[s]),!s)return null;const r=!!a&&a.on!==a.atStart;return e.jsx(F,{title:t("settings.performance.group"),children:e.jsx(z,{title:t("settings.performance.gpu"),badge:r?e.jsx("span",{className:"rounded-full bg-[var(--fill-tsp)] px-2 py-0.5 text-[11.5px] text-[var(--text-muted)]",children:t("settings.performance.gpuWaiting")}):null,description:t(r?"settings.performance.gpuRestartHint":"settings.performance.gpuHint"),control:e.jsxs(e.Fragment,{children:[r?e.jsx(k,{onClick:()=>s.restart(),children:t("settings.performance.restart")}):null,a?e.jsx(Z,{checked:a.on,label:t("settings.performance.gpu"),onChange:c=>{n({...a,on:c}),s.set(c).then(n).catch(()=>{})}}):null]})})})}function Ht(){const t=M(),[s,a]=m.useState(null);if(m.useEffect(()=>{ae.prefs().then(a).catch(()=>{})},[]),!s)return null;const n=r=>{a({...s,proxies:{...s.proxies,...r}}),ae.setPrefs({proxies:r}).then(a).catch(()=>{})};return e.jsxs(F,{title:t("settings.playback.group"),children:[e.jsx(z,{title:t("settings.playback.proxies"),description:t("settings.playback.proxiesHint"),control:e.jsx(Z,{checked:s.proxies.on,onChange:r=>n({on:r}),label:t("settings.playback.proxies")})}),s.proxies.on?e.jsx(z,{title:t("settings.playback.proxySize"),description:t("settings.playback.proxySizeHint"),control:e.jsx(ze,{label:t("settings.playback.proxySize"),value:String(s.proxies.height),onChange:r=>n({height:Number(r)}),options:[{value:"540",label:"540p"},{value:"720",label:"720p"},{value:"1080",label:"1080p"}]})}):null]})}function Gt(){const t=M(),[s,a]=m.useState(null),[n,r]=m.useState("idle");m.useEffect(()=>{ae.version().then(a).catch(()=>{})},[]);const c=!!T,o=()=>{r("checking");const h=s?.checkedAt??null;ae.version(!0).then(u=>{a(u),r(u.checkedAt!=null&&u.checkedAt!==h?"idle":"failed")}).catch(()=>r("failed"))},x=c?t("settings.about.inApp"):s?.source?t("settings.about.source"):s&&!s.checking?t("settings.about.off"):n==="checking"?t("settings.about.checking"):n==="failed"?t("settings.about.failed"):s?.newer?t("settings.about.newer").replace("{version}",s.latest??""):s?.latest?t("settings.about.upToDate"):t("settings.about.never");return e.jsxs(F,{title:t("settings.about.group"),children:[e.jsx(z,{title:s?`AiCut ${s.version}`:"AiCut",description:x,control:c||!s?.checking?null:e.jsx(k,{disabled:n==="checking",onClick:o,children:t("settings.about.check")}),children:Me(s?.version)?e.jsx(Pe,{version:s.version}):null}),!c&&!s?.source&&s?.newer?e.jsx(z,{title:t("settings.about.howTitle"),description:t("settings.about.how"),control:e.jsx("code",{className:"select-all rounded-md bg-[var(--surface-2)] px-2 py-1 font-mono text-[12px] text-[var(--text)]",children:"npx -y @autoaiai/aicut@latest open"})}):null]})}function Pe({version:t}){const s=M();return e.jsx("button",{type:"button",onClick:()=>Ee([t]),className:"mb-2 text-[13.5px] text-[var(--text-muted)] underline underline-offset-2 transition hover:text-[var(--text)]",children:s("settings.about.whatsNew")})}const Vt=10*6e4;function Yt(){const t=M(),s=Q(),a=T?.update,[n,r]=m.useState(null),[c,o]=m.useState(null);m.useEffect(()=>a?.onState?.(r),[a]);const x=m.useRef(!1);m.useEffect(()=>{if(!n||x.current)return;x.current=!0,(n.checkedAt==null||Date.now()-n.checkedAt>Vt)&&["idle","current","error"].includes(n.status)&&a?.check?.()},[n,a]);const h=()=>{o(null),a?.check?.()},u=()=>{o(null),a?.restart().then(f=>{!f.ok&&f.error&&o(f.error)})},b=f=>{const j=Math.round((Date.now()-f)/6e4),p=new Intl.RelativeTimeFormat(s,{numeric:"auto"});return j<60?p.format(-j,"minute"):j<2880?p.format(-Math.round(j/60),"hour"):p.format(-Math.round(j/1440),"day")},l=n,d=l?.availableVersion??"",g=c??(l?.status==="ready"?l.error:null),y=g==="agent-busy"?t("update.agentBusy"):g==="exporting"?t("update.exporting"):g==="install-failed"?t("update.installFailed").replace("{version}",d):null,C=l?.error==="offline"?t("settings.about.appOffline"):l?.error==="unavailable"?t("settings.about.appUnavailable"):t("settings.about.appFailed"),E=f=>e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx(B,{size:13,className:"animate-spin","aria-hidden":!0}),f]}),$=l?l.status==="off"?t("settings.about.appOff"):l.status==="idle"||l.status==="checking"?E(t("settings.about.checking")):l.status==="current"?`${t("settings.about.upToDate")}${l.checkedAt?` ${t("settings.about.appChecked").replace("{time}",b(l.checkedAt))}`:""}`:l.status==="available"||l.status==="downloading"?E(`${t("settings.about.appDownloading").replace("{version}",d)}${l.status==="downloading"?` ${Math.round(l.progress)}%`:""}`):l.status==="staging"?E(t("settings.about.appStaging").replace("{version}",d)):l.status==="ready"?y??t("update.ready").replace("{version}",d):l.status==="installing"?E(t("update.installing")):C:null,D=l?l.status==="current"?e.jsx(k,{onClick:h,children:t("settings.about.check")}):l.status==="error"?e.jsx(k,{onClick:h,children:t("settings.about.appRetry")}):l.status==="ready"?e.jsx(k,{variant:"primary",onClick:u,children:t("update.restart")}):null:null;return e.jsx(F,{title:t("settings.about.group"),children:e.jsxs(z,{title:`AiCut ${l?.version??""}`.trim(),badge:l?.channel==="beta"?e.jsx("span",{className:"rounded-full bg-[var(--fill-tsp)] px-2 py-0.5 text-[11.5px] text-[var(--text-muted)]",children:"beta"}):null,description:$,control:D,children:[Me(l?.version)?e.jsx(Pe,{version:l.version}):null,l?.status==="downloading"?e.jsx("div",{className:"h-1 overflow-hidden rounded-full bg-[var(--fill-tsp)]",role:"progressbar","aria-valuenow":Math.round(l.progress),"aria-valuemin":0,"aria-valuemax":100,children:e.jsx("div",{className:"h-full rounded-full bg-[var(--text)] transition-[width]",style:{width:`${Math.max(2,l.progress)}%`}})}):null]})})}function Jt(){const t=M(),s=T?.developer,[a,n]=m.useState(null);if(m.useEffect(()=>{if(s)return s.get().then(n),s.onChange(n)},[s]),!s)return null;const r=c=>{n(o=>o&&{...o,...c}),s.set(c)};return e.jsxs(H,{note:t("settings.developer.intro"),children:[e.jsxs(F,{title:t("settings.developer.group"),footnote:t("settings.developer.where"),children:[e.jsx(z,{title:t("settings.developer.changes"),description:t("settings.developer.changesHint"),control:a?e.jsx(Z,{checked:a.changes,label:t("settings.developer.changes"),onChange:c=>r({changes:c})}):null}),e.jsx(z,{title:t("settings.developer.logs"),description:t("settings.developer.logsHint"),control:a?e.jsx(Z,{checked:a.logs,label:t("settings.developer.logs"),onChange:c=>r({logs:c})}):null})]}),oe()?e.jsx(F,{title:t("settings.developer.releaseGroup"),children:e.jsx(z,{title:t("settings.developer.previewWhatsNew"),description:t("settings.developer.previewWhatsNewHint").replace("{version}",oe()),control:e.jsx(k,{onClick:()=>Ee([oe()]),children:t("settings.developer.preview")})})}):null]})}function Zt(){const t=M(),s=Xe(t,et());return e.jsx(H,{note:t("settings.shortcuts.hint"),children:s.map(a=>e.jsx(F,{title:a.title,children:a.items.map(n=>e.jsxs("div",{className:"flex min-h-[52px] items-center justify-between gap-6 py-2.5",children:[e.jsx("span",{className:"text-[15px] text-[var(--text)]",children:n.label}),e.jsx("span",{className:"flex max-w-[55%] shrink-0 flex-wrap items-center justify-end gap-1",children:n.keys.map((r,c)=>e.jsxs(m.Fragment,{children:[c>0?e.jsx("span",{className:"px-0.5 text-[13px] text-[var(--text-faint)]",children:"/"}):null,e.jsx("kbd",{className:"inline-flex h-7 min-w-7 items-center justify-center rounded-[6px] border border-[var(--border)] px-1.5 font-sans text-[13px] text-[var(--text-dim)]",children:r})]},r))})]},n.label))},a.title))})}export{Xt as SettingsModal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._range_12o3v_2{appearance:none;-webkit-appearance:none;flex:1;min-width:24px;width:0;height:20px;margin:0;background:transparent;cursor:pointer}._range_12o3v_2::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:var(--surface-3)}._range_12o3v_2::-moz-range-track{height:3px;border-radius:3px;background:var(--surface-3)}._range_12o3v_2::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;border:0;border-radius:50%;background:var(--text-dim);box-shadow:0 0 0 2px var(--panel)}._range_12o3v_2::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--text-dim);box-shadow:0 0 0 2px var(--panel)}._range_12o3v_2:focus-visible{outline:1px solid var(--text-muted);outline-offset:2px;border-radius:3px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-emerald-500:oklch(69.6% .17 162.48);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-1{inset:var(--spacing)}.inset-1\.5{inset:calc(var(--spacing) * 1.5)}.inset-2{inset:calc(var(--spacing) * 2)}.inset-3{inset:calc(var(--spacing) * 3)}.inset-\[3px\]{inset:3px}.inset-x-0{inset-inline:0}.inset-x-1{inset-inline:var(--spacing)}.inset-x-1\.5{inset-inline:calc(var(--spacing) * 1.5)}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.inset-x-2\.5{inset-inline:calc(var(--spacing) * 2.5)}.inset-x-\[7\%\]{inset-inline:7%}.inset-x-\[14\%\]{inset-inline:14%}.inset-y-0{inset-block:0}.inset-y-\[2px\]{inset-block:2px}.inset-y-\[3px\]{inset-block:3px}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-\[3px\]{top:-3px}.-top-\[5px\]{top:-5px}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-8{top:calc(var(--spacing) * 8)}.top-\[1px\]{top:1px}.top-\[2px\]{top:2px}.top-\[3px\]{top:3px}.top-\[9px\]{top:9px}.top-\[12px\]{top:12px}.top-\[17px\]{top:17px}.top-\[22px\]{top:22px}.top-\[calc\(100\%-4px\)\]{top:calc(100% - 4px)}.-right-1{right:calc(var(--spacing) * -1)}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-1{right:var(--spacing)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-\[3px\]{bottom:-3px}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-1\.5{bottom:calc(var(--spacing) * 1.5)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-\[-2px\]{bottom:-2px}.bottom-\[-4px\]{bottom:-4px}.bottom-\[3px\]{bottom:3px}.bottom-\[4px\]{bottom:4px}.bottom-\[28px\]{bottom:28px}.-left-1{left:calc(var(--spacing) * -1)}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[2px\]{left:2px}.left-\[3px\]{left:3px}.left-\[5\.5px\]{left:5.5px}.left-\[12px\]{left:12px}.left-\[13px\]{left:13px}.left-\[14px\]{left:14px}.left-\[15px\]{left:15px}.left-\[19px\]{left:19px}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[4\]{z-index:4}.z-\[5\]{z-index:5}.z-\[6\]{z-index:6}.z-\[7\]{z-index:7}.z-\[8\]{z-index:8}.z-\[9\]{z-index:9}.z-\[11\]{z-index:11}.z-\[12\]{z-index:12}.z-\[13\]{z-index:13}.z-\[15\]{z-index:15}.z-\[20\]{z-index:20}.z-\[24\]{z-index:24}.z-\[25\]{z-index:25}.z-\[26\]{z-index:26}.z-\[31\]{z-index:31}.z-\[35\]{z-index:35}.z-\[36\]{z-index:36}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.z-\[130\]{z-index:130}.z-\[9000\]{z-index:9000}.z-\[10001\]{z-index:10001}.z-\[10030\]{z-index:10030}.z-\[10040\]{z-index:10040}.z-\[10049\]{z-index:10049}.z-\[10050\]{z-index:10050}.z-\[10060\]{z-index:10060}.z-\[10061\]{z-index:10061}.z-\[10070\]{z-index:10070}.z-\[10100\]{z-index:10100}.z-\[10150\]{z-index:10150}.z-\[10151\]{z-index:10151}.z-\[10200\]{z-index:10200}.col-span-full{grid-column:1/-1}.row-span-2{grid-row:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-2\.5{margin-inline:calc(var(--spacing) * 2.5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-\[3px\]{margin-inline:3px}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-\[3px\]{margin-block:3px}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[1px\]{margin-top:1px}.mt-\[2px\]{margin-top:2px}.mt-\[3px\]{margin-top:3px}.mt-\[4px\]{margin-top:4px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-1\.5{margin-right:calc(var(--spacing) * -1.5)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-auto{margin-right:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-\[4px\]{margin-bottom:4px}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-1{margin-left:var(--spacing)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-1\/2{height:50%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-16{height:calc(var(--spacing) * 16)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[4px\]{height:4px}.h-\[6px\]{height:6px}.h-\[7px\]{height:7px}.h-\[8px\]{height:8px}.h-\[9px\]{height:9px}.h-\[10px\]{height:10px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[16px\]{height:16px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[20px\]{height:20px}.h-\[21px\]{height:21px}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[26px\]{height:26px}.h-\[28px\]{height:28px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[42\%\]{height:42%}.h-\[42px\]{height:42px}.h-\[45px\]{height:45px}.h-\[60px\]{height:60px}.h-\[116px\]{height:116px}.h-\[136px\]{height:136px}.h-\[156px\]{height:156px}.h-\[220px\]{height:220px}.h-\[calc\(100\%-2rem\)\]{height:calc(100% - 2rem)}.h-\[min\(640px\,calc\(100vh-32px\)\)\]{height:min(640px,100vh - 32px)}.h-\[min\(800px\,90vh\)\]{height:min(800px,90vh)}.h-full{height:100%}.h-px{height:1px}.max-h-\[52vh\]{max-height:52vh}.max-h-\[180px\]{max-height:180px}.max-h-\[188px\]{max-height:188px}.max-h-\[196px\]{max-height:196px}.max-h-\[200px\]{max-height:200px}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[calc\(100vh-32px\)\]{max-height:calc(100vh - 32px)}.max-h-\[calc\(100vh-48px\)\]{max-height:calc(100vh - 48px)}.max-h-\[min\(320px\,var\(--popover-max-h\)\)\]{max-height:min(320px,var(--popover-max-h))}.max-h-\[min\(360px\,var\(--popover-max-h\)\)\]{max-height:min(360px,var(--popover-max-h))}.max-h-\[min\(520px\,75vh\)\]{max-height:min(520px,75vh)}.max-h-\[min\(640px\,88vh\)\]{max-height:min(640px,88vh)}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[16px\]{min-height:16px}.min-h-\[30px\]{min-height:30px}.min-h-\[30vh\]{min-height:30vh}.min-h-\[38vh\]{min-height:38vh}.min-h-\[42vh\]{min-height:42vh}.min-h-\[52px\]{min-height:52px}.\!w-auto{width:auto!important}.w-0{width:0}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-52{width:calc(var(--spacing) * 52)}.w-\[1\.5px\]{width:1.5px}.w-\[2px\]{width:2px}.w-\[3\.2em\]{width:3.2em}.w-\[3px\]{width:3px}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-\[8px\]{width:8px}.w-\[9\.5em\]{width:9.5em}.w-\[9px\]{width:9px}.w-\[10px\]{width:10px}.w-\[11px\]{width:11px}.w-\[12px\]{width:12px}.w-\[13px\]{width:13px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[24px\]{width:24px}.w-\[25px\]{width:25px}.w-\[26px\]{width:26px}.w-\[28\%\]{width:28%}.w-\[28px\]{width:28px}.w-\[30\%\]{width:30%}.w-\[30px\]{width:30px}.w-\[34\%\]{width:34%}.w-\[36\%\]{width:36%}.w-\[40px\]{width:40px}.w-\[46px\]{width:46px}.w-\[48\%\]{width:48%}.w-\[52px\]{width:52px}.w-\[58\%\]{width:58%}.w-\[58px\]{width:58px}.w-\[60px\]{width:60px}.w-\[64px\]{width:64px}.w-\[72px\]{width:72px}.w-\[76px\]{width:76px}.w-\[78\%\]{width:78%}.w-\[78px\]{width:78px}.w-\[80px\]{width:80px}.w-\[88px\]{width:88px}.w-\[92\%\]{width:92%}.w-\[92px\]{width:92px}.w-\[104px\]{width:104px}.w-\[120px\]{width:120px}.w-\[124px\]{width:124px}.w-\[136px\]{width:136px}.w-\[160px\]{width:160px}.w-\[168px\]{width:168px}.w-\[180px\]{width:180px}.w-\[196px\]{width:196px}.w-\[200px\]{width:200px}.w-\[212px\]{width:212px}.w-\[220px\]{width:220px}.w-\[240px\]{width:240px}.w-\[248px\]{width:248px}.w-\[256px\]{width:256px}.w-\[264px\]{width:264px}.w-\[268px\]{width:268px}.w-\[280px\]{width:280px}.w-\[288px\]{width:288px}.w-\[340px\]{width:340px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\[7\.5rem\]{max-width:7.5rem}.max-w-\[24ch\]{max-width:24ch}.max-w-\[28ch\]{max-width:28ch}.max-w-\[30ch\]{max-width:30ch}.max-w-\[32ch\]{max-width:32ch}.max-w-\[55\%\]{max-width:55%}.max-w-\[64ch\]{max-width:64ch}.max-w-\[72ch\]{max-width:72ch}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-\[86\%\]{max-width:86%}.max-w-\[88\%\]{max-width:88%}.max-w-\[96\%\]{max-width:96%}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[340px\]{max-width:340px}.max-w-\[360px\]{max-width:360px}.max-w-\[420px\]{max-width:420px}.max-w-\[440px\]{max-width:440px}.max-w-\[460px\]{max-width:460px}.max-w-\[520px\]{max-width:520px}.max-w-\[880px\]{max-width:880px}.max-w-\[920px\]{max-width:920px}.max-w-\[1040px\]{max-width:1040px}.max-w-\[1080px\]{max-width:1080px}.max-w-\[1120px\]{max-width:1120px}.max-w-\[min\(280px\,100\%\)\]{max-width:min(280px,100%)}.max-w-\[min\(320px\,100\%\)\]{max-width:min(320px,100%)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-\[14px\]{min-width:14px}.min-w-\[16px\]{min-width:16px}.min-w-\[21px\]{min-width:21px}.min-w-\[42px\]{min-width:42px}.min-w-\[56px\]{min-width:56px}.min-w-\[80px\]{min-width:80px}.min-w-\[136px\]{min-width:136px}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[168px\]{min-width:168px}.min-w-\[184px\]{min-width:184px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[1\.03\]{scale:1.03}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.\[scrollbar-gutter\:stable\]{scrollbar-gutter:stable}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-\[1fr_1fr_24px\]{grid-template-columns:1fr 1fr 24px}.grid-cols-\[1fr_24px\]{grid-template-columns:1fr 24px}.grid-cols-\[1fr_40\%\]{grid-template-columns:1fr 40%}.grid-cols-\[64px_minmax\(0\,1fr\)_56px\]{grid-template-columns:64px minmax(0,1fr) 56px}.grid-cols-\[minmax\(0\,1fr\)_24px\]{grid-template-columns:minmax(0,1fr) 24px}.grid-cols-\[minmax\(0\,1fr\)_auto_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-cols-\[repeat\(auto-fill\,minmax\(44px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(52px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(58px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(60px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(64px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(80px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(min\(200px\,100\%\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-\[2px\]{gap:2px}.gap-\[3px\]{gap:3px}.gap-\[4px\]{gap:4px}.gap-\[5px\]{gap:5px}.gap-\[6px\]{gap:6px}.gap-\[7px\]{gap:7px}.gap-px{gap:1px}.gap-x-1{column-gap:var(--spacing)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--border\)\]>:not(:last-child)){border-color:var(--border)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-stretch{justify-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[1\.5px\]{border-radius:1.5px}.rounded-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[18\%\]{border-radius:18%}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[7px\]{border-top-left-radius:7px;border-top-right-radius:7px}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-l-\[3px\]{border-top-left-radius:3px;border-bottom-left-radius:3px}.rounded-br-\[3px\]{border-bottom-right-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-\[4px\]{border-style:var(--tw-border-style);border-width:4px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[1\.5px\]{border-top-style:var(--tw-border-style);border-top-width:1.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[color-mix\(in_srgb\,var\(--err\)_28\%\,transparent\)\]{border-color:var(--err)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--err\)_28\%\,transparent\)\]{border-color:color-mix(in srgb,var(--err) 28%,transparent)}}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-soft\)\]{border-color:var(--border-soft)}.border-\[var\(--border-strong\)\]{border-color:var(--border-strong)}.border-\[var\(--card-border\)\]{border-color:var(--card-border)}.border-\[var\(--err\)\]\/40{border-color:var(--err)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--err\)\]\/40{border-color:color-mix(in oklab,var(--err) 40%,transparent)}}.border-\[var\(--text\)\]{border-color:var(--text)}.border-\[var\(--text-faint\)\]{border-color:var(--text-faint)}.border-\[var\(--text-muted\)\]{border-color:var(--text-muted)}.border-\[var\(--warn\)\]{border-color:var(--warn)}.border-black\/50{border-color:#00000080}@supports (color:color-mix(in lab,red,red)){.border-black\/50{border-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/60{border-color:#fff9}@supports (color:color-mix(in lab,red,red)){.border-white\/60{border-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-\[\#1a2744\]{background-color:#1a2744}.bg-\[\#4a0d0d\]{background-color:#4a0d0d}.bg-\[\#28c840\]{background-color:#28c840}.bg-\[\#111116\]{background-color:#111116}.bg-\[\#b42318\]{background-color:#b42318}.bg-\[\#b54708\]{background-color:#b54708}.bg-\[\#febc2e\]{background-color:#febc2e}.bg-\[\#ff5f57\]{background-color:#ff5f57}.bg-\[color-mix\(in_srgb\,\#66d8b8_40\%\,transparent\)\]{background-color:#66d8b866}.bg-\[color-mix\(in_srgb\,var\(--accent\)_10\%\,transparent\)\]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--accent\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--accent) 10%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--accent\)_14\%\,transparent\)\]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--accent\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--accent) 14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--accent\)_16\%\,transparent\)\]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--accent\)_16\%\,transparent\)\]{background-color:color-mix(in srgb,var(--accent) 16%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--err\)_7\%\,transparent\)\]{background-color:var(--err)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--err\)_7\%\,transparent\)\]{background-color:color-mix(in srgb,var(--err) 7%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--err\)_14\%\,transparent\)\]{background-color:var(--err)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--err\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--err) 14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--surface-2\)_45\%\,transparent\)\]{background-color:var(--surface-2)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--surface-2\)_45\%\,transparent\)\]{background-color:color-mix(in srgb,var(--surface-2) 45%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--tl-wave\)_55\%\,transparent\)\]{background-color:var(--tl-wave)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--tl-wave\)_55\%\,transparent\)\]{background-color:color-mix(in srgb,var(--tl-wave) 55%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--warn\)_14\%\,transparent\)\]{background-color:var(--warn)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--warn\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--warn) 14%,transparent)}}.bg-\[var\(--accent\)\],.bg-\[var\(--accent\)\]\/15{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--accent\)\]\/15{background-color:color-mix(in oklab,var(--accent) 15%,transparent)}}.bg-\[var\(--accent\)\]\/20{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--accent\)\]\/20{background-color:color-mix(in oklab,var(--accent) 20%,transparent)}}.bg-\[var\(--accent-soft\)\]{background-color:var(--accent-soft)}.bg-\[var\(--app-content-bg\)\],.bg-\[var\(--app-content-bg\)\]\/70{background-color:var(--app-content-bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--app-content-bg\)\]\/70{background-color:color-mix(in oklab,var(--app-content-bg) 70%,transparent)}}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--bg-active\)\]{background-color:var(--bg-active)}.bg-\[var\(--bg-hover\)\],.bg-\[var\(--bg-hover\)\]\/40{background-color:var(--bg-hover)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--bg-hover\)\]\/40{background-color:color-mix(in oklab,var(--bg-hover) 40%,transparent)}}.bg-\[var\(--bg-surface\)\]{background-color:var(--bg-surface)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--border-strong\)\]{background-color:var(--border-strong)}.bg-\[var\(--border-strong\,var\(--border\)\)\]{background-color:var(--border-strong,var(--border))}.bg-\[var\(--brand-wind-from\)\]\/15{background-color:var(--brand-wind-from)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--brand-wind-from\)\]\/15{background-color:color-mix(in oklab,var(--brand-wind-from) 15%,transparent)}}.bg-\[var\(--card-bg\)\]{background-color:var(--card-bg)}.bg-\[var\(--danger\,\#e5484d\)\]{background-color:var(--danger,#e5484d)}.bg-\[var\(--dock-pane\)\]{background-color:var(--dock-pane)}.bg-\[var\(--dock-shell\)\]{background-color:var(--dock-shell)}.bg-\[var\(--err\)\]{background-color:var(--err)}.bg-\[var\(--fill-tsp\)\]{background-color:var(--fill-tsp)}.bg-\[var\(--fill-tsp\,rgba\(127\,127\,127\,0\.18\)\)\]{background-color:var(--fill-tsp,#7f7f7f2e)}.bg-\[var\(--ok\)\]{background-color:var(--ok)}.bg-\[var\(--panel\)\]{background-color:var(--panel)}.bg-\[var\(--surface\)\],.bg-\[var\(--surface\)\]\/80{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface\)\]\/80{background-color:color-mix(in oklab,var(--surface) 80%,transparent)}}.bg-\[var\(--surface-2\)\],.bg-\[var\(--surface-2\)\]\/60{background-color:var(--surface-2)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface-2\)\]\/60{background-color:color-mix(in oklab,var(--surface-2) 60%,transparent)}}.bg-\[var\(--surface-3\)\]{background-color:var(--surface-3)}.bg-\[var\(--surface-3\,var\(--bg-hover\)\)\]{background-color:var(--surface-3,var(--bg-hover))}.bg-\[var\(--text\)\],.bg-\[var\(--text\)\]\/60{background-color:var(--text)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--text\)\]\/60{background-color:color-mix(in oklab,var(--text) 60%,transparent)}}.bg-\[var\(--text-dim\)\]{background-color:var(--text-dim)}.bg-\[var\(--text-faint\)\]{background-color:var(--text-faint)}.bg-\[var\(--text-muted\)\]{background-color:var(--text-muted)}.bg-\[var\(--tl-accent\)\]{background-color:var(--tl-accent)}.bg-\[var\(--tl-playhead\)\]{background-color:var(--tl-playhead)}.bg-\[var\(--tl-select\)\]{background-color:var(--tl-select)}.bg-\[var\(--warn\,\#f5a524\)\]{background-color:var(--warn,#f5a524)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-black{background-color:var(--color-black)}.bg-black\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.bg-black\/0{background-color:color-mix(in oklab,var(--color-black) 0%,transparent)}}.bg-black\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\/35{background-color:color-mix(in oklab,var(--color-black) 35%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-black\/55{background-color:#0000008c}@supports (color:color-mix(in lab,red,red)){.bg-black\/55{background-color:color-mix(in oklab,var(--color-black) 55%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/65{background-color:#000000a6}@supports (color:color-mix(in lab,red,red)){.bg-black\/65{background-color:color-mix(in oklab,var(--color-black) 65%,transparent)}}.bg-black\/75{background-color:#000000bf}@supports (color:color-mix(in lab,red,red)){.bg-black\/75{background-color:color-mix(in oklab,var(--color-black) 75%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\/45{background-color:#ffffff73}@supports (color:color-mix(in lab,red,red)){.bg-white\/45{background-color:color-mix(in oklab,var(--color-white) 45%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.bg-white\/\[0\.13\]{background-color:#ffffff21}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.13\]{background-color:color-mix(in oklab,var(--color-white) 13%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(160deg\,\#3c4d66_0\%\,\#1d2735_62\%\,\#0d131b_100\%\)\]{background-image:linear-gradient(160deg,#3c4d66,#1d2735 62%,#0d131b)}.bg-\[linear-gradient\(to_right\,transparent\,var\(--dock-pane\)_38\%\)\]{background-image:linear-gradient(to right,transparent,var(--dock-pane) 38%)}.bg-\[radial-gradient\(circle_at_50\%_35\%\,\#33465e_0\%\,\#16202c_62\%\,\#0b1017_100\%\)\]{background-image:radial-gradient(circle at 50% 35%,#33465e,#16202c 62%,#0b1017)}.from-black\/55{--tw-gradient-from:#0000008c}@supports (color:color-mix(in lab,red,red)){.from-black\/55{--tw-gradient-from:color-mix(in oklab, var(--color-black) 55%, transparent)}}.from-black\/55{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.p-\[5px\]{padding:5px}.p-\[6px\]{padding:6px}.p-\[8\%\]{padding:8%}.p-px{padding:1px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-\[2px\]{padding-inline:2px}.px-\[3px\]{padding-inline:3px}.px-\[4px\]{padding-inline:4px}.px-\[5px\]{padding-inline:5px}.px-\[6px\]{padding-inline:6px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[1px\]{padding-block:1px}.py-\[2px\]{padding-block:2px}.py-\[3px\]{padding-block:3px}.py-\[4px\]{padding-block:4px}.py-\[5px\]{padding-block:5px}.py-\[7px\]{padding-block:7px}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-9{padding-top:calc(var(--spacing) * 9)}.pt-\[1px\]{padding-top:1px}.pt-\[7px\]{padding-top:7px}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-\[4px\]{padding-right:4px}.pr-\[26px\]{padding-right:26px}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pl-0{padding-left:0}.pl-0\.5{padding-left:calc(var(--spacing) * .5)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-\[18\%\]{padding-left:18%}.pl-\[34px\]{padding-left:34px}.pl-\[40px\]{padding-left:40px}.pl-\[52px\]{padding-left:52px}.pl-\[60px\]{padding-left:60px}.pl-\[70px\]{padding-left:70px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[7\.5px\]{font-size:7.5px}.text-\[8\.5px\]{font-size:8.5px}.text-\[8px\]{font-size:8px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[13px\]{--tw-leading:13px;line-height:13px}.leading-\[14px\]{--tw-leading:14px;line-height:14px}.leading-\[15px\]{--tw-leading:15px;line-height:15px}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.005em\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[var\(--accent\)\]{color:var(--accent)!important}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--accent-ink\)\]{color:var(--accent-ink)}.text-\[var\(--bg\)\]{color:var(--bg)}.text-\[var\(--brand-wind-from\)\]{color:var(--brand-wind-from)}.text-\[var\(--brand-wind-mid\)\]{color:var(--brand-wind-mid)}.text-\[var\(--card-bg\)\]{color:var(--card-bg)}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--danger\,\#e5484d\)\]{color:var(--danger,#e5484d)}.text-\[var\(--err\)\]{color:var(--err)}.text-\[var\(--ok\)\]{color:var(--ok)}.text-\[var\(--on-accent\)\]{color:var(--on-accent)}.text-\[var\(--panel\)\]{color:var(--panel)}.text-\[var\(--surface\)\]{color:var(--surface)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-dim\)\]{color:var(--text-dim)}.text-\[var\(--text-faint\)\]{color:var(--text-faint)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--tl-faint\)\]{color:var(--tl-faint)}.text-\[var\(--warn\)\]{color:var(--warn)}.text-black\/70{color:#000000b3}@supports (color:color-mix(in lab,red,red)){.text-black\/70{color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab,red,red)){.text-white\/45{color:color-mix(in oklab,var(--color-white) 45%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.text-white\/55{color:color-mix(in oklab,var(--color-white) 55%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white) 75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.accent-\[var\(--accent\)\]{accent-color:var(--accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_0\.5px_var\(--border-strong\)\,0_1px_2px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 0 0 .5px var(--tw-shadow-color,var(--border-strong)), 0 1px 2px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_0\.5px_var\(--border-strong\)\]{--tw-shadow:0 0 0 .5px var(--tw-shadow-color,var(--border-strong));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1\.5px_var\(--accent\)\]{--tw-shadow:0 0 0 1.5px var(--tw-shadow-color,var(--accent));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,\.18\)\,0_1px_3px_rgba\(0\,0\,0\,\.3\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0000002e), 0 1px 3px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_2px_rgba\(0\,0\,0\,\.4\)\]{--tw-shadow:0 0 2px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_1px_color-mix\(in_srgb\,var\(--tl-accent\)_55\%\,transparent\)\]{--tw-shadow:0 0 10px 1px var(--tw-shadow-color,var(--tl-accent))}@supports (color:color-mix(in lab,red,red)){.shadow-\[0_0_10px_1px_color-mix\(in_srgb\,var\(--tl-accent\)_55\%\,transparent\)\]{--tw-shadow:0 0 10px 1px var(--tw-shadow-color,color-mix(in srgb,var(--tl-accent) 55%,transparent))}}.shadow-\[0_0_10px_1px_color-mix\(in_srgb\,var\(--tl-accent\)_55\%\,transparent\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_0_rgba\(255\,255\,255\,0\.06\)_inset\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#ffffff0f) inset;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,\.4\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,\.35\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_4px_rgba\(0\,0\,0\,\.25\)\]{--tw-shadow:0 1px 4px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_4px_rgba\(0\,0\,0\,\.35\)\]{--tw-shadow:0 1px 4px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_10px_rgba\(0\,0\,0\,\.35\)\]{--tw-shadow:0 2px 10px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_24px_-12px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 8px 24px -12px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_40px_-8px_rgba\(0\,0\,0\,\.35\)\,0_4px_12px_rgba\(0\,0\,0\,\.14\)\]{--tw-shadow:0 16px 40px -8px var(--tw-shadow-color,#00000059), 0 4px 12px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_48px_-12px_rgba\(0\,0\,0\,0\.45\)\,0_2px_8px_rgba\(0\,0\,0\,0\.12\)\]{--tw-shadow:0 18px 48px -12px var(--tw-shadow-color,#00000073), 0 2px 8px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_48px_-20px_rgba\(0\,0\,0\,0\.7\)\]{--tw-shadow:0 24px 48px -20px var(--tw-shadow-color,#000000b3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_64px_-12px_rgba\(0\,0\,0\,0\.5\)\,0_4px_16px_rgba\(0\,0\,0\,0\.14\)\]{--tw-shadow:0 24px 64px -12px var(--tw-shadow-color,#00000080), 0 4px 16px var(--tw-shadow-color,#00000024);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_64px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 24px 64px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_32px_80px_-24px_rgba\(0\,0\,0\,0\.6\)\]{--tw-shadow:0 32px 80px -24px var(--tw-shadow-color,#0009);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(0\,0\,0\,\.12\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.06\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[var\(--accent\)\]{--tw-ring-color:var(--accent)}.ring-\[var\(--border\)\]{--tw-ring-color:var(--border)}.ring-\[var\(--border-strong\)\]{--tw-ring-color:var(--border-strong)}.ring-\[var\(--text-faint\)\]{--tw-ring-color:var(--text-faint)}.ring-\[var\(--tl-accent\)\]{--tw-ring-color:var(--tl-accent)}.ring-\[var\(--tl-line\)\]{--tw-ring-color:var(--tl-line)}.ring-transparent{--tw-ring-color:transparent}.ring-white\/30{--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.ring-white\/30{--tw-ring-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--bg-surface\)\]{--tw-ring-offset-color:var(--bg-surface)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-\[1\.5px\]{outline-style:var(--tw-outline-style);outline-width:1.5px}.outline-offset-\[1px\]{outline-offset:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.55\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 3px var(--tw-drop-shadow-color,#0000008c));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_2px_5px_rgba\(0\,0\,0\,0\.45\)\]{--tw-drop-shadow-size:drop-shadow(0 2px 5px var(--tw-drop-shadow-color,#00000073));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[1\.5px\]{--tw-backdrop-blur:blur(1.5px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[3px\]{--tw-backdrop-blur:blur(3px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[box-shadow\,background-color\]{transition-property:box-shadow,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.contain-size{--tw-contain-size:size;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.\[-ms-overflow-style\:none\]{-ms-overflow-style:none}.\[background\:linear-gradient\(var\(--bg-hover\)\,var\(--bg-hover\)\)\,var\(--dock-pane\)\]{background:linear-gradient(var(--bg-hover),var(--bg-hover)),var(--dock-pane)}.\[contain-intrinsic-size\:auto_112px\]{contain-intrinsic-size:auto 112px}.\[content-visibility\:auto\]{content-visibility:auto}.\[text-shadow\:0_1px_3px_rgba\(0\,0\,0\,0\.7\)\]{text-shadow:0 1px 3px #000000b3}.ring-inset{--tw-ring-inset:inset}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\:h-1:is(:where(.group):hover *){height:var(--spacing)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-\[1\.02\]:is(:where(.group):hover *){scale:1.02}.group-hover\:border-\[var\(--accent\)\]:is(:where(.group):hover *){border-color:var(--accent)}.group-hover\:bg-\[var\(--bg-hover\)\]:is(:where(.group):hover *){background-color:var(--bg-hover)}.group-hover\:bg-black\/35:is(:where(.group):hover *){background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-black\/35:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-black) 35%,transparent)}}.group-hover\:bg-white\/30:is(:where(.group):hover *){background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-white\/30:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.group-hover\:text-\[var\(--accent\)\]:is(:where(.group):hover *){color:var(--accent)}.group-hover\:text-\[var\(--text\)\]:is(:where(.group):hover *){color:var(--text)}.group-hover\:text-\[var\(--text-muted\)\]:is(:where(.group):hover *){color:var(--text-muted)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:ring-\[var\(--border\)\]:is(:where(.group):hover *){--tw-ring-color:var(--border)}.group-hover\:ring-\[var\(--border-strong\)\]:is(:where(.group):hover *){--tw-ring-color:var(--border-strong)}.group-hover\:brightness-\[1\.04\]:is(:where(.group):hover *){--tw-brightness:brightness(1.04);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.group-hover\/block\:opacity-100:is(:where(.group\/block):hover *){opacity:1}.group-hover\/roll\:opacity-90:is(:where(.group\/roll):hover *),.group-hover\/trim\:opacity-90:is(:where(.group\/trim):hover *){opacity:.9}}.group-focus-visible\:opacity-40:is(:where(.group):focus-visible *){opacity:.4}.marker\:text-\[var\(--text-faint\)\] ::marker{color:var(--text-faint)}.marker\:text-\[var\(--text-faint\)\]::marker{color:var(--text-faint)}.marker\:text-\[var\(--text-faint\)\] ::-webkit-details-marker{color:var(--text-faint)}.marker\:text-\[var\(--text-faint\)\]::-webkit-details-marker{color:var(--text-faint)}.placeholder\:font-sans::placeholder{font-family:var(--font-sans)}.placeholder\:text-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-1:first-child{padding-top:var(--spacing)}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-\[var\(--text-muted\)\]:focus-within{border-color:var(--text-muted)}.focus-within\:bg-\[var\(--bg\)\]:focus-within{background-color:var(--bg)}.focus-within\:ring-\[1\.5px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-\[var\(--accent\)\]:focus-within{--tw-ring-color:var(--accent)}@media(hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:border-\[var\(--border-strong\)\]:hover{border-color:var(--border-strong)}.hover\:border-\[var\(--text-faint\)\]:hover{border-color:var(--text-faint)}.hover\:border-white:hover{border-color:var(--color-white)}.hover\:border-white\/25:hover{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/25:hover{border-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.hover\:bg-\[var\(--accent\)\]\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--accent\)\]\/30:hover{background-color:color-mix(in oklab,var(--accent) 30%,transparent)}}.hover\:bg-\[var\(--bg\)\]:hover{background-color:var(--bg)}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:bg-\[var\(--border-strong\)\]:hover{background-color:var(--border-strong)}.hover\:bg-\[var\(--fill-tsp\)\]:hover{background-color:var(--fill-tsp)}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-\[var\(--surface-3\)\]:hover{background-color:var(--surface-3)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.hover\:bg-black\/55:hover{background-color:#0000008c}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/55:hover{background-color:color-mix(in oklab,var(--color-black) 55%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.hover\:bg-white\/\[0\.12\]:hover{background-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.12\]:hover{background-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--err\)\]:hover{color:var(--err)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-dim\)\]:hover{color:var(--text-dim)}.hover\:text-\[var\(--tl-text\)\]:hover{color:var(--tl-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-85:hover{opacity:.85}.hover\:opacity-90:hover{opacity:.9}.hover\:ring-\[var\(--border\)\]:hover{--tw-ring-color:var(--border)}.hover\:ring-\[var\(--border-strong\)\]:hover{--tw-ring-color:var(--border-strong)}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-\[1\.04\]:hover{--tw-brightness:brightness(1.04);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-\[1\.06\]:hover{--tw-brightness:brightness(1.06);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:border-\[var\(--border-strong\)\]:focus{border-color:var(--border-strong)}.focus\:border-\[var\(--text-faint\)\]:focus{border-color:var(--text-faint)}.focus\:border-\[var\(--text-muted\)\]:focus{border-color:var(--text-muted)}.focus\:bg-\[var\(--bg\)\]:focus{background-color:var(--bg)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[1\.5px\]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--accent\)\]:focus{--tw-ring-color:var(--accent)}.focus\:ring-\[var\(--border-strong\)\]:focus{--tw-ring-color:var(--border-strong)}.focus\:ring-\[var\(--tl-accent\)\]:focus{--tw-ring-color:var(--tl-accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-\[var\(--accent\)\]:focus-visible{border-color:var(--accent)}.focus-visible\:bg-\[var\(--bg-hover\)\]:focus-visible{background-color:var(--bg-hover)}.focus-visible\:bg-\[var\(--border-strong\)\]:focus-visible{background-color:var(--border-strong)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--accent\)\]:focus-visible{--tw-ring-color:var(--accent)}.focus-visible\:ring-\[var\(--border-strong\)\]:focus-visible{--tw-ring-color:var(--border-strong)}.focus-visible\:ring-\[var\(--text\)\]\/30:focus-visible{--tw-ring-color:var(--text)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-\[var\(--text\)\]\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--text) 30%, transparent)}}.focus-visible\:ring-\[var\(--tl-accent\)\]:focus-visible{--tw-ring-color:var(--tl-accent)}.focus-visible\:outline:focus-visible,.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--accent\)\]:focus-visible{outline-color:var(--accent)}.focus-visible\:outline-\[var\(--border-strong\)\]:focus-visible{outline-color:var(--border-strong)}.focus-visible\:outline-\[var\(--text-muted\)\]:focus-visible{outline-color:var(--text-muted)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}@media(hover:hover){.enabled\:hover\:bg-\[var\(--bg-hover\)\]:enabled:hover{background-color:var(--bg-hover)}.enabled\:hover\:text-\[var\(--err\)\]:enabled:hover{color:var(--err)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:no-underline:disabled:hover{text-decoration-line:none}}@media(min-width:980px){.min-\[980px\]\:flex{display:flex}}@media(min-width:40rem){.sm\:w-28{width:calc(var(--spacing) * 28)}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-4{gap:calc(var(--spacing) * 4)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,0\.72fr\)_minmax\(0\,1\.28fr\)\]{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media(min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (min-width:240px){.\@min-\[240px\]\:block{display:block}}@container (min-width:340px){.\@min-\[340px\]\:block{display:block}}@container (min-width:410px){.\@min-\[410px\]\:block{display:block}}@container (min-width:20rem){.\@xs\:flex-1{flex:1}.\@xs\:basis-0{flex-basis:0}}@container (min-width:32rem){.\@lg\:block{display:block}}@container (min-width:36rem){.\@xl\:hidden{display:none}.\@xl\:inline{display:inline}}@media(hover:hover){.dark\:hover\:bg-white\/10:where([data-theme=dark],[data-theme=dark] *):hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-white\/10:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}}.\[\&\:\:-moz-range-thumb\]\:h-3::-moz-range-thumb{height:calc(var(--spacing) * 3)}.\[\&\:\:-moz-range-thumb\]\:w-3::-moz-range-thumb{width:calc(var(--spacing) * 3)}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:3.40282e38px}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-moz-range-thumb\]\:bg-\[var\(--bg\)\]::-moz-range-thumb{background-color:var(--bg)}.\[\&\:\:-moz-range-thumb\]\:shadow-\[0_0_0_1px_var\(--border-strong\)\,0_1px_3px_rgba\(0\,0\,0\,0\.25\)\]::-moz-range-thumb{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--border-strong)), 0 1px 3px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\:\:-moz-range-track\]\:h-\[3px\]::-moz-range-track{height:3px}.\[\&\:\:-moz-range-track\]\:bg-transparent::-moz-range-track{background-color:#0000}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:\:-webkit-slider-runnable-track\]\:h-\[3px\]::-webkit-slider-runnable-track{height:3px}.\[\&\:\:-webkit-slider-runnable-track\]\:bg-transparent::-webkit-slider-runnable-track{background-color:#0000}.\[\&\:\:-webkit-slider-thumb\]\:-mt-\[4\.5px\]::-webkit-slider-thumb{margin-top:-4.5px}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:calc(var(--spacing) * 3)}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:calc(var(--spacing) * 3)}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-\[var\(--bg\)\]::-webkit-slider-thumb{background-color:var(--bg)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-\[0_0_0_1px_var\(--border-strong\)\,0_1px_3px_rgba\(0\,0\,0\,0\.25\)\]::-webkit-slider-thumb{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--border-strong)), 0 1px 3px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-cjk-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", "Heiti SC", sans-serif;--font-sans:"Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, var(--font-cjk-sans);--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius-lg:16px;--shadow-sm:0 1px 2px #0000000a, 0 1px 3px #0000000f;--shadow-lg:0 12px 32px #0000001a, 0 4px 8px #0000000d;--titlebar-logo-x:6px;--titlebar-right-x:0px}:root,[data-theme=light]{color-scheme:light;--bg:#fcfcfc;--canvas:#f2f2f2;--panel:#fcfcfc;--surface:#fcfcfc;--surface-2:#f2f2f2;--surface-3:#e8e8e8;--bg-surface:var(--surface);--border:#00000014;--border-soft:#0000000d;--border-strong:#00000029;--text:#1f1f1f;--text-dim:#4b4b4b;--text-muted:#666;--text-faint:#a9a9a9;--card-bg:#fcfcfc;--card-border:#00000014;--fill-tsp:#0000000d;--tooltip-bg:#fff;--tooltip-text:#1f1f1f;--tooltip-border:#00000024;--accent:#1a1a1a;--accent-soft:#1a1a1a0f;--on-accent:#fff;--ok:#16a34a;--warn:#d97706;--err:#dc2626;--bg-hover:#0000000b;--bg-active:#00000014;--app-content-bg:#fcfcfc;--dock-shell:#f2f2f2;--dock-pane:#fcfcfc;--folder-back:#cbcbcb;--folder-front:#e0e0e0;--folder-front-hi:#ededed;--brand-wind-from:#2f9e63;--brand-wind-mid:#3cbc93;--brand-wind-to:#55bfd0;--tl-lane:#efefef;--tl-lane-on:#f5f5f5;--tl-head:#fcfcfc;--tl-ruler:#fcfcfc;--tl-line:#e2e2e2;--tl-text:#4a4a4a;--tl-faint:#8a8a8a;--tl-playhead:#1f8a86;--tl-accent:#1f8a86;--tl-select:var(--tl-accent);--tl-tick:#00000029;--tl-wave:#006e6cd1;--tl-wave-band:#006066cc;--tl-scene:#3f9b9b;--tl-video:#5385bd;--tl-voice:#6f62b0;--tl-sfx:#5192c4;--tl-music:#3f9a90;--tl-caption:#7c8797;--tl-page-text:#c07f2e;--tl-page-sticker:#a463b8;--tl-page-effect:#3d9a76;--tl-page-transition:#6b7fc4;--tl-page-look:#c06a86}[data-theme=dark]{color-scheme:dark;--bg:#1a1a1a;--canvas:#1f1f1f;--panel:#181818;--surface:#202020;--surface-2:#2a2a2a;--surface-3:#313131;--border:#ffffff0f;--border-soft:#ffffff0a;--border-strong:#ffffff1f;--text:#dadada;--text-dim:#b0b0b0;--text-muted:#959595;--text-faint:#646464;--card-bg:#202020;--card-border:#ffffff0f;--fill-tsp:#ffffff0f;--tooltip-bg:#141414;--tooltip-text:#f0f0f0;--tooltip-border:#ffffff29;--accent:#1a93fe;--accent-soft:#1a93fe1f;--on-accent:#fff;--ok:#5eb92d;--warn:#ffbf36;--err:#eb4d4d;--bg-hover:#ffffff0f;--bg-active:#ffffff1a;--app-content-bg:#111;--dock-shell:#111;--dock-pane:#181818;--folder-back:#3a3a3a;--folder-front:#4d4d4d;--folder-front-hi:#5a5a5a;--brand-wind-from:#5ecb92;--brand-wind-mid:#66d8b8;--brand-wind-to:#7fd3e4;--tl-lane:#1e1e1e;--tl-lane-on:#272727;--tl-head:#181818;--tl-ruler:#181818;--tl-line:#252525;--tl-text:#ffffffb3;--tl-faint:#fff6;--tl-playhead:#fff;--tl-accent:#45c2b4;--tl-select:#fff;--tl-wave:#0ca8a4e6;--tl-wave-band:#00777dd9;--tl-tick:#ffffff1f;--tl-scene:#1d5c60;--tl-video:#2d4f7c;--tl-voice:#003a4c;--tl-sfx:#084254;--tl-music:#00323f;--tl-caption:#434a55;--tl-page-text:#7a4f16;--tl-page-sticker:#573263;--tl-page-effect:#1c5340;--tl-page-transition:#36416b;--tl-page-look:#6b3547}*{border-color:var(--border)}html,body{height:100%}html{background:#f2f2f2}html[data-theme=dark]{background:#141414}body{color:var(--text);background:var(--canvas);font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.workspace-shell{overscroll-behavior:none;position:fixed;inset:0}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}@keyframes aicut-desktop-playhead{0%{left:8%}to{left:92%}}.aicut-desktop-playhead{animation:7s linear infinite aicut-desktop-playhead}@keyframes aicut-desktop-pulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 5px var(--tl-accent))}}.aicut-desktop-pulse{animation:2.4s ease-in-out infinite aicut-desktop-pulse}@media(prefers-reduced-motion:reduce){.aicut-desktop-playhead{animation:none;left:46%}.aicut-desktop-pulse{animation:none}}@keyframes aicut-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes aicut-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes aicut-text-sweep{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes aicut-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes aicut-loading-bar{0%{transform:translate(-100%)}to{transform:translate(300%)}}.aicut-rise{animation:.4s cubic-bezier(.2,.8,.2,1) both aicut-rise}.aicut-pop{animation:.16s cubic-bezier(.2,.8,.2,1) both aicut-pop}.aicut-loading-bar{animation:1.15s cubic-bezier(.45,0,.55,1) infinite aicut-loading-bar}html:not([data-focus-nav=tab]) :is(a,button,[role=button],select,summary):focus-visible{box-shadow:none!important;outline:none!important}html[data-focus-nav=tab] :where(a,button,[role=button],select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:7px}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 37%,var(--surface) 63%);background-size:200% 100%;animation:1.4s ease-in-out infinite aicut-shimmer}.text-sweep{background-image:linear-gradient(90deg,var(--text-faint) 0%,var(--text-faint) 35%,var(--text) 50%,var(--text-faint) 65%,var(--text-faint) 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite aicut-text-sweep}@media(prefers-reduced-motion:reduce){.text-sweep{color:var(--text-muted);animation:none}}.tl-scroll{scrollbar-width:thin;scrollbar-color:var(--tl-faint) transparent}.tl-scroll::-webkit-scrollbar{width:8px;height:0}.tl-scroll::-webkit-scrollbar:horizontal{width:0;height:0;display:none}.tl-scroll::-webkit-scrollbar:vertical{width:8px}.tl-scroll::-webkit-scrollbar-track{background:0 0}.tl-scroll::-webkit-scrollbar-thumb{background:var(--tl-faint);background-clip:content-box;border:2px solid #0000;border-radius:4px}.tl-scroll::-webkit-scrollbar-thumb:hover{background:var(--tl-text);background-clip:content-box}.tl-scroll::-webkit-scrollbar-corner{background:0 0}.tl-blade,.tl-blade *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cg transform='rotate(32 14 14)' stroke='%23000' stroke-width='1.5' stroke-linejoin='round'%3E%3Crect x='8.4' y='2' width='11.2' height='24' rx='2' fill='%23fff'/%3E%3Crect x='12.2' y='8.7' width='3.6' height='10.6' rx='1.8' fill='%23000' stroke='none'/%3E%3C/g%3E%3C/svg%3E") 9 11,crosshair!important}.tl-playhead-hot,.tl-playhead-hot *,body.tl-scrubbing,body.tl-scrubbing *{cursor:col-resize!important}.tl-range-thumb{background:var(--text);border-radius:999px;height:4px;transform:translateY(-50%);top:50%!important;bottom:auto!important}@supports (color:color-mix(in lab,red,red)){.tl-range-thumb{background:color-mix(in srgb,var(--text) 28%,transparent)}}.tl-range-thumb{transition:height .12s,background-color .12s}.tl-range:hover .tl-range-thumb,.tl-range:active .tl-range-thumb{background:var(--text);height:8px}@supports (color:color-mix(in lab,red,red)){.tl-range:hover .tl-range-thumb,.tl-range:active .tl-range-thumb{background:color-mix(in srgb,var(--text) 42%,transparent)}}.tl-zoom{appearance:none;background:0 0}.tl-zoom::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--tl-accent) 0,var(--tl-accent) calc(var(--pos,0) * 100%),var(--tl-line) calc(var(--pos,0) * 100%),var(--tl-line) 100%);border-radius:999px;height:3px}.tl-zoom::-webkit-slider-thumb{appearance:none;background:var(--tl-accent);cursor:pointer;border-radius:2px;width:6px;height:13px;margin-top:-5px}.tl-zoom::-moz-range-track{background:linear-gradient(to right,var(--tl-accent) 0,var(--tl-accent) calc(var(--pos,0) * 100%),var(--tl-line) calc(var(--pos,0) * 100%),var(--tl-line) 100%);border-radius:999px;height:3px}.tl-zoom::-moz-range-thumb{background:var(--tl-text);cursor:pointer;border:0;border-radius:2px;width:6px;height:12px}[data-media-trouble]>:first-child{box-shadow:inset 0 0 0 1.5px var(--err)}[data-media-trouble=unreachable]>:first-child{box-shadow:inset 0 0 0 1.5px var(--warn)}[data-media-trouble]:after{content:"!";z-index:3;background:var(--err);color:#fff;text-align:center;pointer-events:none;border-radius:999px;width:14px;height:14px;font:700 10px/14px system-ui,sans-serif;position:absolute;top:3px;right:4px}[data-media-trouble=unreachable]:after{content:"⟳";background:var(--warn)}.stage-box{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stage{background:#000;position:relative;overflow:visible}.stage-frames{background:#000;position:absolute;inset:0;overflow:hidden}.stage iframe{color-scheme:light;transform-origin:0 0;pointer-events:none;border:0;position:absolute;top:0;left:0}.stage .cover{text-align:center;color:#fff9;z-index:3;background:#000;justify-content:center;align-items:center;padding:16px;font-size:13px;display:flex;position:absolute;inset:0}[data-host-titlebar] [data-titlebar]{-webkit-app-region:drag;app-region:drag}[data-host-titlebar] [data-titlebar] :is(button,a,input,select,textarea,[role=button]),[data-host-titlebar] :is([role=menu],[role=dialog],[role=listbox],[role=tooltip]){-webkit-app-region:no-drag;app-region:no-drag}html[data-file-drag] iframe{pointer-events:none}[data-replace-over]{outline:2px solid var(--tl-accent);outline-offset:-2px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|