@berenjena/react-dev-panel 2.2.0 → 2.4.0

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.
Files changed (41) hide show
  1. package/README.md +97 -239
  2. package/dist/assets/index11.css +1 -1
  3. package/dist/assets/index12.css +1 -1
  4. package/dist/assets/index13.css +1 -1
  5. package/dist/assets/index14.css +1 -1
  6. package/dist/assets/index15.css +1 -1
  7. package/dist/assets/index16.css +1 -0
  8. package/dist/assets/index5.css +1 -1
  9. package/dist/assets/index7.css +1 -1
  10. package/dist/components/ControlRenderer/controls/BooleanControl/index.js +1 -1
  11. package/dist/components/ControlRenderer/controls/ButtonControl/index.js +1 -1
  12. package/dist/components/ControlRenderer/controls/ButtonGroupControl/index.js +1 -1
  13. package/dist/components/ControlRenderer/controls/ColorControl/index.js +1 -1
  14. package/dist/components/ControlRenderer/controls/DragAndDropControl/index.js +1 -1
  15. package/dist/components/ControlRenderer/controls/LocalStorageControl/index.d.ts +23 -0
  16. package/dist/components/ControlRenderer/controls/LocalStorageControl/index.js +252 -0
  17. package/dist/components/ControlRenderer/controls/LocalStorageControl/types.d.ts +14 -0
  18. package/dist/components/ControlRenderer/controls/SelectControl/index.js +15 -5
  19. package/dist/components/ControlRenderer/controls/SelectControl/types.d.ts +2 -0
  20. package/dist/components/ControlRenderer/controls/index.d.ts +1 -0
  21. package/dist/components/ControlRenderer/controls/index.js +2 -1
  22. package/dist/components/ControlRenderer/controls/types.d.ts +3 -0
  23. package/dist/components/ControlRenderer/index.js +23 -23
  24. package/dist/components/Select/index.d.ts +3 -1
  25. package/dist/components/Select/index.js +132 -97
  26. package/dist/hooks/useDevPanel/index.js +45 -17
  27. package/dist/store/ControlPersistenceService.d.ts +33 -0
  28. package/dist/store/ControlPersistenceService.js +61 -0
  29. package/dist/utils/copyToClipboard/copyToClipboard.d.ts +17 -0
  30. package/dist/utils/copyToClipboard/copyToClipboard.js +10 -0
  31. package/dist/utils/copyToClipboard/index.d.ts +1 -0
  32. package/dist/utils/copyToClipboard/index.js +4 -0
  33. package/dist/utils/getStringPreview/getStringPreview.d.ts +14 -0
  34. package/dist/utils/getStringPreview/getStringPreview.js +6 -0
  35. package/dist/utils/getStringPreview/index.d.ts +1 -0
  36. package/dist/utils/getStringPreview/index.js +4 -0
  37. package/dist/utils/prettifyJson/index.d.ts +1 -0
  38. package/dist/utils/prettifyJson/index.js +4 -0
  39. package/dist/utils/prettifyJson/prettifyJson.d.ts +13 -0
  40. package/dist/utils/prettifyJson/prettifyJson.js +11 -0
  41. package/package.json +9 -3
package/README.md CHANGED
@@ -5,323 +5,181 @@
5
5
  [![License: MIT](https://badgen.net/npm/license/@berenjena/react-dev-panel)](https://opensource.org/licenses/MIT)
6
6
  [![Weekly Downloads](https://badgen.net/npm/dw/@berenjena/react-dev-panel)](https://www.npmjs.com/package/@berenjena/react-dev-panel)
7
7
 
8
- A powerful, type-safe development panel for React that allows developers to inspect and control component props, manage state, and accelerate prototyping directly within the application UI.
8
+ A lightweight, type-safe development panel for React that lets you control component state and props in real-time during development.
9
9
 
10
- ## Features
10
+ ## Features
11
11
 
12
- - 🎛️ **Rich Control Types** - Boolean, Number, Text, Select, Color, Range, Date, Button, ButtonGroup, and Separator controls
13
- - 🚀 **Zero Configuration** - Auto-mounting and unmounting, no providers or setup required
14
- - 🎨 **Themeable** - Built-in themes and CSS custom properties for customization
15
- - ⌨️ **Keyboard Shortcuts** - Customizable hotkeys for panel toggle
16
- - 📖 **TypeScript First** - Full type safety and IntelliSense support
17
- - **Auto State Management** - Automatic portal rendering and lifecycle management
18
- - 📦 **Lightweight** - Only requires React as peer dependency
12
+ - **One Hook**: Single `useDevPanel` hook - no providers, no setup
13
+ - **13 Control Types**: Text, Number, Boolean, Select, Color, Range, Date, Button, LocalStorage, and more
14
+ - **Auto-Persistence**: Optional localStorage sync for control values
15
+ - **Type-Safe**: Full TypeScript support with IntelliSense
16
+ - **Themeable**: 21 built-in themes + CSS custom properties
17
+ - **Lightweight**: ~16 KB gzipped, zero runtime dependencies
19
18
 
20
- ## 📦 Installation
19
+ ## Installation
21
20
 
22
21
  ```bash
23
22
  npm install -D @berenjena/react-dev-panel
24
23
  ```
25
24
 
26
- ```bash
27
- yarn add -D @berenjena/react-dev-panel
28
- ```
29
-
30
- ```bash
31
- pnpm add -D @berenjena/react-dev-panel
32
- ```
33
-
34
- ## 🚀 Quick Start
35
-
36
- The package exposes a single hook: `useDevPanel`. This hook handles everything automatically:
37
-
38
- - **Auto-mounting**: Creates and mounts the dev panel UI when first called
39
- - **Auto-unmounting**: Removes the panel from DOM when no controls are active
40
- - **State management**: Manages all internal state and control synchronization
41
- - **Portal rendering**: Renders the panel outside your component tree
42
-
43
- ### Basic Usage
25
+ ## Quick Start
44
26
 
45
27
  ```tsx
46
28
  import { useState } from "react";
47
29
  import { useDevPanel } from "@berenjena/react-dev-panel";
48
30
 
49
31
  function App() {
50
- const [name, setName] = useState("John Doe");
32
+ const [name, setName] = useState("John");
51
33
  const [age, setAge] = useState(25);
52
- const [isActive, setIsActive] = useState(true);
53
34
  const [theme, setTheme] = useState("dark");
54
35
 
55
- useDevPanel("User Settings", {
56
- name: {
57
- type: "text",
58
- value: name,
59
- label: "Full Name",
60
- onChange: setName,
61
- },
62
- age: {
63
- type: "number",
64
- value: age,
65
- label: "Age",
66
- min: 0,
67
- max: 120,
68
- onChange: setAge,
69
- },
70
- isActive: {
71
- type: "boolean",
72
- value: isActive,
73
- label: "Active User",
74
- onChange: setIsActive,
75
- },
76
- theme: {
77
- type: "select",
78
- value: theme,
79
- label: "Theme",
80
- options: ["light", "dark", "auto"],
81
- onChange: setTheme,
82
- },
36
+ useDevPanel("Settings", {
37
+ name: { type: "text", value: name, onChange: setName },
38
+ age: { type: "number", value: age, min: 0, max: 100, onChange: setAge },
39
+ theme: { type: "select", value: theme, options: ["light", "dark"], onChange: setTheme },
83
40
  });
84
41
 
85
- return (
86
- <div>
87
- <h1>Hello, {name}!</h1>
88
- <p>Age: {age}</p>
89
- <p>Status: {isActive ? "Active" : "Inactive"}</p>
90
- <p>Theme: {theme}</p>
91
- </div>
92
- );
42
+ return <div>Hello, {name}!</div>;
93
43
  }
94
44
  ```
95
45
 
96
- That's it! No additional components or providers needed. The hook automatically handles the entire panel lifecycle.
97
-
98
- ## 🎛️ Control Types
46
+ **That's it!** Press `Ctrl+Shift+A` to toggle the panel.
99
47
 
100
- React Dev Panel provides rich control types for different data types. Here are some quick examples:
48
+ ## Control Types
101
49
 
102
- ### Text Control
50
+ All 13 control types available:
103
51
 
104
52
  ```tsx
105
53
  {
106
- type: 'text',
107
- value: 'Hello World',
108
- label: 'Message',
109
- placeholder: 'Enter message...',
110
- onChange: (value: string) => setValue(value),
54
+ text: { type: "text", value: string, onChange: (v) => void }
55
+ number: { type: "number", value: number, min?: number, max?: number, onChange: (v) => void }
56
+ boolean: { type: "boolean", value: boolean, onChange: (v) => void }
57
+ select: { type: "select", value: string, options: string[], onChange: (v) => void }
58
+ multiselect: { type: "multiselect", value: string[], options: string[], onChange: (v) => void }
59
+ color: { type: "color", value: string, onChange: (v) => void }
60
+ range: { type: "range", value: number, min: number, max: number, step?: number, onChange: (v) => void }
61
+ date: { type: "date", value: string, min?: string, max?: string, onChange: (v) => void }
62
+ button: { type: "button", onClick: () => void }
63
+ buttonGroup: { type: "buttonGroup", buttons: Array<{label: string, onClick: () => void}> }
64
+ dragAndDrop: { type: "dragAndDrop", onChange: (files: FileList) => void }
65
+ localStorage: { type: "localStorage", onRefresh?: () => void }
66
+ separator: { type: "separator", variant?: "line" | "label" | "space" }
111
67
  }
112
68
  ```
113
69
 
114
- ### Number Control
70
+ **Common options** (available on most controls):
115
71
 
116
- ```tsx
117
- {
118
- type: 'number',
119
- value: 42,
120
- label: 'Count',
121
- min: 0,
122
- max: 100,
123
- onChange: (value: number) => setValue(value),
124
- }
125
- ```
72
+ - `label?: string` - Display label
73
+ - `description?: string` - Help text
74
+ - `disabled?: boolean` - Disable control
75
+ - `persist?: boolean` - Auto-save to localStorage
126
76
 
127
- ### Boolean Control
77
+ 📖 **[Full control documentation →](./guides/CONTROLS.md)**
128
78
 
129
- ```tsx
130
- {
131
- type: 'boolean',
132
- value: true,
133
- label: 'Enable Feature',
134
- onChange: (value: boolean) => setValue(value),
135
- }
136
- ```
79
+ ## Configuration
137
80
 
138
- ### Button Control
81
+ ### Custom Hotkey
139
82
 
140
83
  ```tsx
141
- {
142
- type: 'button',
143
- label: 'Reset Values',
144
- onClick: () => resetToDefaults(),
145
- }
146
- ```
147
-
148
- **📖 [View all control types and detailed documentation →](./guides/CONTROLS.md)**
149
-
150
- ## 🎨 Styling and Theming
151
-
152
- The dev panel uses CSS custom properties for easy theming. Here's a quick example:
153
-
154
- ```css
155
- :root {
156
- --dev-panel-background-color: #1a1a1a;
157
- --dev-panel-text-color: #ffffff;
158
- --dev-panel-accent-color: #ff6200;
159
- --dev-panel-border-color: #333333;
160
- }
161
- ```
162
-
163
- **📖 [Complete theming guide and customization options →](./guides/STYLING.md)**
164
-
165
- ## ⌨️ Keyboard Shortcuts
166
-
167
- The dev panel supports customizable keyboard shortcuts. The default hotkey is `Ctrl+Shift+A`:
168
-
169
- ```tsx
170
- useDevPanel("My Section", controls, {
171
- hotKeyConfig: {
172
- key: "d", // The key to press
173
- ctrlKey: true, // Requires Ctrl key
174
- shiftKey: false, // Requires Shift key
175
- altKey: true, // Requires Alt key
176
- metaKey: false, // Requires Meta/Cmd key (Mac)
177
- },
84
+ useDevPanel("Settings", controls, {
85
+ hotKeyConfig: { key: "d", ctrlKey: true, shiftKey: true },
178
86
  });
179
87
  ```
180
88
 
181
- ## 🔧 Advanced Usage
182
-
183
- ### Multiple Panel Sections
184
-
185
- You can call `useDevPanel` from multiple components to create organized sections:
89
+ ### Panel Theme
186
90
 
187
91
  ```tsx
188
- function App() {
189
- // In UserProfile.tsx
190
- useDevPanel("User Profile", {
191
- name: { type: "text", value: name, onChange: setName },
192
- avatar: { type: "text", value: avatar, onChange: setAvatar },
193
- });
194
-
195
- // In AppSettings.tsx
196
- useDevPanel("App Settings", {
197
- theme: { type: "select", value: theme, options: ["light", "dark"], onChange: setTheme },
198
- debug: { type: "boolean", value: debug, onChange: setDebug },
199
- });
200
-
201
- // Both sections appear in the same panel automatically
202
- return <YourApp />;
203
- }
204
- ```
205
-
206
- ### Panel Configuration
207
-
208
- Customize the panel's appearance and behavior:
209
-
210
- ```tsx
211
- useDevPanel("My Section", controls, {
212
- panelTitle: "Custom Panel Title",
213
- theme: "dark", // Built-in themes: light, dark, neon, etc.
214
- hotKeyConfig: {
215
- // Custom toggle hotkey (default: Ctrl+Shift+A)
216
- key: "f",
217
- ctrlKey: true,
218
- shiftKey: true,
219
- altKey: false,
220
- metaKey: false,
221
- },
92
+ useDevPanel("Settings", controls, {
93
+ theme: "neon", // 21 built-in themes available
94
+ panelTitle: "My Dev Panel",
222
95
  });
223
96
  ```
224
97
 
225
- ### Event Handling Options
226
-
227
- React Dev Panel supports two different event handling strategies for input controls:
98
+ ### Event Handling
228
99
 
229
- **onChange Event**: Provides real-time updates as the user types or interacts with the control. This is ideal for immediate feedback and live previews, but may trigger more frequent re-renders.
230
-
231
- **onBlur Event**: Updates the value only when the user finishes interacting with the control (loses focus). This approach is more performance-friendly for expensive operations and provides a better user experience when dealing with API calls or heavy computations.
100
+ Choose when controls trigger updates:
232
101
 
233
102
  ```tsx
234
103
  {
235
- type: 'text',
104
+ type: "text",
236
105
  value: searchTerm,
237
- event: 'onChange', // Real-time updates
238
- onChange: setSearchTerm,
106
+ event: "onChange", // Update on every keystroke (default)
107
+ onChange: setSearchTerm
239
108
  }
240
109
 
241
110
  {
242
- type: 'number',
243
- value: price,
244
- event: 'onBlur', // Update only when focus is lost
245
- onChange: setPrice,
111
+ type: "text",
112
+ value: apiKey,
113
+ event: "onBlur", // Update only when focus is lost
114
+ onChange: setApiKey
246
115
  }
247
116
  ```
248
117
 
249
- ## 📚 Documentation
118
+ 📖 **[Styling guide](./guides/STYLING.md)** | **[Event handling](./guides/EVENT_HANDLING.md)** | **[Advanced usage](./guides/ADVANCED_USAGE.md)**
250
119
 
251
- ### Core Guides
120
+ ## Documentation
252
121
 
253
- - **[Control Types](./guides/CONTROLS.md)** - Complete guide to all available controls
254
- - **[Event Handling](./guides/EVENT_HANDLING.md)** - onChange vs onBlur strategies and best practices
255
- - **[Styling & Theming](./guides/STYLING.md)** - Customization, themes, and responsive design
256
- - **[Advanced Usage](./guides/ADVANCED_USAGE.md)** - Complex patterns, state management, and optimization
122
+ **Guides:**
257
123
 
258
- ### Development
124
+ - [Control Types](./guides/CONTROLS.md) - All 12 control types with examples
125
+ - [Persistence](./guides/PERSISTENCE.md) - Auto-save to localStorage
126
+ - [Styling & Theming](./guides/STYLING.md) - Themes and CSS customization
127
+ - [Event Handling](./guides/EVENT_HANDLING.md) - onChange vs onBlur strategies
128
+ - [Advanced Usage](./guides/ADVANCED_USAGE.md) - Complex patterns and optimization
129
+ - [Bundle Size](./guides/BUNDLE_SIZE.md) - Size tracking and optimization
130
+ - [Development](./guides/DEVELOPMENT.md) - Contributing and setup
259
131
 
260
- - **[Development Guide](./guides/DEVELOPMENT.md)** - Setup, contributing, and project structure
132
+ **Live Examples:**
261
133
 
262
- ## 📚 API Reference
134
+ - [Storybook](https://berenjenas.github.io/react-dev-panel/) - Interactive component demos
135
+ - Run locally: `npm run storybook`
263
136
 
264
- ### `useDevPanel(sectionName, controls, devPanelProps?)`
137
+ ## API Reference
265
138
 
266
- The only export from this package. This hook manages the entire dev panel lifecycle and handles all the heavy lifting for you.
139
+ ### `useDevPanel(sectionName, controls, options?)`
267
140
 
268
141
  **Parameters:**
269
142
 
270
- - `sectionName` - Unique identifier for the control group
271
- - `controls` - Object containing control definitions
272
- - `devPanelProps` - Optional panel configuration (title, theme, hotkeys)
273
-
274
- **What it does automatically:**
275
-
276
- - **Portal Management**: Creates a React portal on first use and renders the panel outside your component tree
277
- - **State Synchronization**: Keeps all controls in sync across multiple component instances
278
- - **Lifecycle Management**: Mounts the panel when controls are registered, unmounts when all controls are removed
279
- - **Memory Management**: Cleans up subscriptions and DOM elements when components unmount
280
- - **Theme Application**: Applies theme configurations and CSS custom properties
281
-
282
- ## 🛠️ Development
283
-
284
- Want to contribute or set up the project locally?
285
-
286
- React Dev Panel maintains high code quality standards with comprehensive tooling:
143
+ - `sectionName: string` - Unique identifier for this control group
144
+ - `controls: ControlsGroup` - Object mapping control keys to control definitions
145
+ - `options?: DevPanelProps` - Optional configuration
287
146
 
288
- - **🔍 ESLint** - Comprehensive linting for TypeScript and React
289
- - **💅 Prettier** - Automatic code formatting
290
- - **🎨 Stylelint** - CSS/SCSS linting and formatting
291
- - **📝 Commitlint** - Conventional commit message validation
292
- - **🪝 Husky** - Pre-commit hooks for quality assurance
293
- - **📦 Changesets** - Automated version management and releases
147
+ **Options:**
294
148
 
295
- All quality checks run automatically via pre-commit hooks, ensuring consistent code quality.
149
+ ```tsx
150
+ {
151
+ panelTitle?: string; // Custom panel header
152
+ theme?: string; // Built-in theme name
153
+ hotKeyConfig?: { // Custom toggle hotkey
154
+ key: string;
155
+ ctrlKey?: boolean;
156
+ shiftKey?: boolean;
157
+ altKey?: boolean;
158
+ metaKey?: boolean;
159
+ }
160
+ }
161
+ ```
296
162
 
297
- **📖 [Development setup, contributing guidelines, and project structure →](./guides/DEVELOPMENT.md)**
163
+ ## Contributing
298
164
 
299
- ## 📖 Storybook
165
+ Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
300
166
 
301
- Explore all components and controls in our Storybook:
167
+ **Development:**
302
168
 
303
169
  ```bash
170
+ git clone https://github.com/Berenjenas/react-dev-panel.git
171
+ cd react-dev-panel
172
+ npm install
304
173
  npm run storybook
305
174
  ```
306
175
 
307
- Visit `http://localhost:6006` to see interactive examples and documentation.
176
+ ## License
308
177
 
309
- ## 🤝 Contributing
178
+ MIT © [Berenjena](https://berenjena.com.ar)
310
179
 
311
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
312
-
313
- 1. Fork the repository
314
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
315
- 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
316
- 4. Push to the branch (`git push origin feature/amazing-feature`)
317
- 5. Open a Pull Request
318
-
319
- ## 🔗 Links
180
+ ---
320
181
 
321
- - [NPM Package](https://www.npmjs.com/package/@berenjena/react-dev-panel)
322
- - [GitHub Repository](https://github.com/Berenjenas/react-dev-panel)
323
- - [Bug Reports](https://github.com/Berenjenas/react-dev-panel/issues)
324
- - [Berenjena](https://berenjena.com.ar)
182
+ **Links:** [NPM](https://www.npmjs.com/package/@berenjena/react-dev-panel) · [GitHub](https://github.com/Berenjenas/react-dev-panel) · [Issues](https://github.com/Berenjenas/react-dev-panel/issues) · [Berenjena](https://berenjena.com.ar)
325
183
 
326
184
  ---
327
185
 
@@ -1 +1 @@
1
- @keyframes _borderDance_p0d3i_1{0%{background-position:0px 0px,100px 100%,0px 100%,100% 0px}to{background-position:100px 0px,0px 100%,0px 0px,100% 100%}}._dropZone_p0d3i_9{width:100%;height:100px;border:2px solid transparent;border-radius:var(--dev-panel-border-radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:var(--dev-panel-transition-normal);position:relative}._dropZone_p0d3i_9:hover{background-color:var(--dev-panel-surface-color-hover)}._dropZone_p0d3i_9._disabled_p0d3i_26{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;pointer-events:none}._dropZone_p0d3i_9._disabled_p0d3i_26:hover{background-color:transparent}._dropZone_p0d3i_9:before{content:"";position:absolute;inset:-2px;border:2px dashed var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius-md);pointer-events:none}._dropZone_p0d3i_9._active_p0d3i_45:before{border:none;background:linear-gradient(90deg,var(--dev-panel-accent-color) 50%,transparent 50%),linear-gradient(90deg,var(--dev-panel-accent-color) 50%,transparent 50%),linear-gradient(0deg,var(--dev-panel-accent-color) 50%,transparent 50%),linear-gradient(0deg,var(--dev-panel-accent-color) 50%,transparent 50%);background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:15px 2px,15px 2px,2px 15px,2px 15px;background-position:0px 0px,100% 100%,0px 100%,100% 0px;animation:_borderDance_p0d3i_1 2s infinite linear}._droppedImage_p0d3i_54{max-width:100%;max-height:100%;object-fit:contain}._supportedFormats_p0d3i_60{font-size:var(--dev-panel-font-size-sm);color:var(--dev-panel-text-color-muted);margin:var(--dev-panel-spacing-md) 0 0 0}._dropText_p0d3i_66{margin:0;color:var(--dev-panel-text-color)}._droppedFile_p0d3i_71{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}._droppedText_p0d3i_79{margin:0;color:var(--dev-panel-text-color);font-weight:var(--dev-panel-font-weight-medium);font-size:var(--dev-panel-font-size-md)}._errorMessage_p0d3i_86{padding:var(--dev-panel-spacing-md) var(--dev-panel-spacing-lg);border-radius:var(--dev-panel-border-radius-sm);color:var(--dev-panel-error-color);font-size:var(--dev-panel-font-size-md);margin:0}._errorMessage_p0d3i_86 p{margin:0}
1
+ :root{--dev-panel-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--dev-panel-font-weight-normal: 400;--dev-panel-font-weight-medium: 500;--dev-panel-font-weight-semibold: 600;--dev-panel-font-weight-bold: 700;--dev-panel-font-size-xs: 10px;--dev-panel-font-size-sm: 12px;--dev-panel-font-size-md: 14px;--dev-panel-font-size-lg: 16px;--dev-panel-font-size-xl: 18px;--dev-panel-line-height-tight: 1.25;--dev-panel-line-height-normal: 1.5;--dev-panel-line-height-relaxed: 1.75;--dev-panel-accent-color: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}@media (prefers-color-scheme: light){:root{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._container_cgfc3_217{width:100%;display:flex;flex-direction:column;gap:var(--dev-panel-spacing-md)}._header_cgfc3_224{display:flex;justify-content:space-between;align-items:center}._count_cgfc3_230{font-size:var(--dev-panel-font-size-sm);color:var(--dev-panel-text-color-secondary);font-weight:var(--dev-panel-font-weight-medium)}._actions_cgfc3_236{display:flex;gap:var(--dev-panel-spacing-xs)}._btnRefresh_cgfc3_241,._btnAdd_cgfc3_242{padding:0;margin:0;border:none;background:none;font:inherit;color:inherit;padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-sm);background:var(--dev-panel-input-background-color);border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);color:var(--dev-panel-text-color);font-size:var(--dev-panel-font-size-md);cursor:pointer;transition:var(--dev-panel-transition);min-height:28px;min-width:28px;display:flex;align-items:center;justify-content:center}._btnRefresh_cgfc3_241:hover:not(:disabled),._btnAdd_cgfc3_242:hover:not(:disabled){background:var(--dev-panel-surface-color-hover);border-color:var(--dev-panel-input-border-color-hover)}._btnRefresh_cgfc3_241:active:not(:disabled),._btnAdd_cgfc3_242:active:not(:disabled){transform:scale(.95)}._btnRefresh_cgfc3_241:disabled,._btnAdd_cgfc3_242:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed}._itemsList_cgfc3_279{display:flex;flex-direction:column;gap:var(--dev-panel-spacing-md)}._card_cgfc3_285{display:flex;flex-direction:column;overflow:visible;border:1px solid var(--dev-panel-border-color);transition:var(--dev-panel-transition)}._card_cgfc3_285:hover{border-color:var(--dev-panel-input-border-color-hover);box-shadow:var(--dev-panel-shadow-xs)}._cardHeader_cgfc3_297{display:flex;align-items:center;gap:var(--dev-panel-spacing-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);transition:var(--dev-panel-transition)}._cardHeader_cgfc3_297:hover{background:var(--dev-panel-surface-color-hover)}._clickable_cgfc3_308{cursor:pointer}._collapseIcon_cgfc3_312{display:flex;align-items:center;justify-content:center;font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color-secondary);flex-shrink:0;min-width:16px;transition:var(--dev-panel-transition)}._cardTitle_cgfc3_323{font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-semibold);color:var(--dev-panel-text-color)}._keyCode_cgfc3_329{flex:1;padding-top:4px;font-size:var(--dev-panel-font-size-xs);word-break:break-all;font-weight:var(--dev-panel-font-weight-semibold)}._cardBody_cgfc3_337{padding:var(--dev-panel-spacing-md);display:flex;flex-direction:column;gap:var(--dev-panel-spacing-sm)}._field_cgfc3_344{display:flex;flex-direction:column;gap:var(--dev-panel-spacing-xs);margin-bottom:var(--dev-panel-spacing-md)}._field_cgfc3_344:last-child{margin-bottom:0}._valueActions_cgfc3_354{display:flex;gap:var(--dev-panel-spacing-sm)}._fieldLabel_cgfc3_359{font-size:var(--dev-panel-font-size-xs);font-weight:var(--dev-panel-font-weight-semibold);color:var(--dev-panel-text-color-secondary);text-transform:uppercase;letter-spacing:.5px}._input_cgfc3_367{display:block;width:100%;height:var(--dev-panel-inputs-height-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);line-height:var(--dev-panel-line-height-normal);color:var(--dev-panel-input-text-color);background-color:var(--dev-panel-input-background-color);border:var(--dev-panel-input-border-width) solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition)}._input_cgfc3_367::placeholder{color:var(--dev-panel-input-placeholder-color)}._input_cgfc3_367:hover:not(:disabled){border-color:var(--dev-panel-input-border-color-hover)}._input_cgfc3_367:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._input_cgfc3_367:disabled{opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color);border-color:var(--dev-panel-border-color);cursor:not-allowed}._textarea_cgfc3_399{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color);font-family:Courier New,monospace;font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color);line-height:1.5;word-break:break-all;width:100%;padding:var(--dev-panel-spacing-sm);background:var(--dev-panel-input-background-color);border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);resize:vertical;min-height:60px;transition:var(--dev-panel-transition)}._textarea_cgfc3_399::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._textarea_cgfc3_399::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._textarea_cgfc3_399::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}._textarea_cgfc3_399::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._textarea_cgfc3_399::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}._textarea_cgfc3_399:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._textarea_cgfc3_399:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed}._valueText_cgfc3_445{font-family:Courier New,monospace;font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color);line-height:1.5;word-break:break-all;margin:0;padding:var(--dev-panel-spacing-sm);background:var(--dev-panel-input-background-color);border:1px solid var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius);white-space:pre-wrap;max-height:none;overflow-y:visible}._btnToggle_cgfc3_461{padding:0;margin:0;border:none;background:none;font:inherit;color:inherit;cursor:pointer;align-self:flex-start;padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-sm);background:transparent;border:1px solid var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius);color:var(--dev-panel-text-color-secondary);font-size:var(--dev-panel-font-size-xs);font-weight:var(--dev-panel-font-weight-medium);transition:var(--dev-panel-transition);display:flex;align-items:center;gap:var(--dev-panel-spacing-xs)}._btnToggle_cgfc3_461:hover:not(:disabled){background:var(--dev-panel-input-background-color);border-color:var(--dev-panel-input-border-color-hover);color:var(--dev-panel-text-color)}._btnToggle_cgfc3_461:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed}._cardActions_cgfc3_492{display:flex;gap:var(--dev-panel-spacing-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md)}._btnSave_cgfc3_498,._btnCancel_cgfc3_499,._btnEdit_cgfc3_500,._btnDelete_cgfc3_501{display:inline-flex;align-items:center;justify-content:center;gap:var(--dev-panel-spacing-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-lg);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-medium);line-height:var(--dev-panel-line-height-tight);border:var(--dev-panel-input-border-width) solid transparent;border-radius:var(--dev-panel-border-radius);background:transparent;color:inherit;text-decoration:none;white-space:nowrap;user-select:none;transition:var(--dev-panel-transition);cursor:pointer;flex:1;min-height:32px;background:var(--dev-panel-input-background-color);border:1px solid var(--dev-panel-input-border-color);color:var(--dev-panel-text-color)}._btnSave_cgfc3_498:disabled,._btnCancel_cgfc3_499:disabled,._btnEdit_cgfc3_500:disabled,._btnDelete_cgfc3_501:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;pointer-events:none}._btnSave_cgfc3_498:hover:not(:disabled),._btnCancel_cgfc3_499:hover:not(:disabled),._btnEdit_cgfc3_500:hover:not(:disabled),._btnDelete_cgfc3_501:hover:not(:disabled){background:var(--dev-panel-surface-color-hover);border-color:var(--dev-panel-input-border-color-hover);transform:translateY(-1px);box-shadow:var(--dev-panel-shadow-sm)}._btnSave_cgfc3_498:active:not(:disabled),._btnCancel_cgfc3_499:active:not(:disabled),._btnEdit_cgfc3_500:active:not(:disabled),._btnDelete_cgfc3_501:active:not(:disabled){transform:translateY(0);box-shadow:none}._btnSave_cgfc3_498{background:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent);border-color:var(--dev-panel-accent-color)}._btnSave_cgfc3_498:hover:not(:disabled){background:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover)}._btnDelete_cgfc3_501:hover:not(:disabled){background:var(--dev-panel-error-color);border-color:var(--dev-panel-error-color);color:var(--dev-panel-text-color-on-accent)}._empty_cgfc3_567{padding:var(--dev-panel-spacing-xl);text-align:center;color:var(--dev-panel-text-color-secondary);font-size:var(--dev-panel-font-size-sm);font-style:italic;background:var(--dev-panel-surface-color);border:1px dashed var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius)}
@@ -1 +1 @@
1
- ._container_1oo6z_1{display:grid;grid-template-columns:var(--dev-panel-inputs-height-sm) 1fr;gap:var(--dev-panel-spacing-md);align-items:start}._container_1oo6z_1 ._colorPreview_1oo6z_7{overflow:hidden;width:var(--dev-panel-inputs-height-sm);height:var(--dev-panel-inputs-height-sm);cursor:pointer;border-radius:var(--dev-panel-border-radius);border:1px solid var(--dev-panel-input-border-color);transition:var(--dev-panel-transition);position:relative;background-color:var(--dev-panel-input-border-color);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0px}._container_1oo6z_1 ._colorPreview_1oo6z_7:hover{border-color:var(--dev-panel-input-border-color-hover);transform:scale(1.05)}._container_1oo6z_1 ._colorPreview_1oo6z_7:focus-within{border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._container_1oo6z_1 ._colorPreview_1oo6z_7:active{transform:scale(.95)}._container_1oo6z_1 ._colorPreview_1oo6z_7 input[type=color]{background:none;border:0;width:150%;height:150%;margin:-25%;cursor:pointer;opacity:0}._container_1oo6z_1 ._colorPreview_1oo6z_7 input[type=color]:focus{outline:none}._container_1oo6z_1 ._colorPreview_1oo6z_7 input[type=color]:disabled{cursor:not-allowed;opacity:.5}._container_1oo6z_1 ._inputSection_1oo6z_47{display:flex;flex-direction:column;gap:var(--dev-panel-spacing-sm)}._container_1oo6z_1 ._errorMessage_1oo6z_52{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-danger-color);font-weight:var(--dev-panel-font-weight-medium);grid-column:1/-1;margin-top:var(--dev-panel-spacing-xs)}._container_1oo6z_1 ._presets_1oo6z_59{display:flex;flex-wrap:wrap;gap:var(--dev-panel-spacing-xs);margin-top:var(--dev-panel-spacing-xs)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65{width:24px;height:24px;border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius-sm);cursor:pointer;transition:var(--dev-panel-transition);background:none;padding:0}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:hover{border-color:var(--dev-panel-input-border-color-hover);transform:scale(1.1)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:active{transform:scale(.95)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:disabled{cursor:not-allowed;opacity:.5;transform:none!important}._container_1oo6z_1:has(input:disabled){opacity:.6;pointer-events:none}._container_1oo6z_1:has(input:disabled) ._colorPreview_1oo6z_7{cursor:not-allowed;transform:none!important}
1
+ @keyframes _borderDance_p0d3i_1{0%{background-position:0px 0px,100px 100%,0px 100%,100% 0px}to{background-position:100px 0px,0px 100%,0px 0px,100% 100%}}._dropZone_p0d3i_9{width:100%;height:100px;border:2px solid transparent;border-radius:var(--dev-panel-border-radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:var(--dev-panel-transition-normal);position:relative}._dropZone_p0d3i_9:hover{background-color:var(--dev-panel-surface-color-hover)}._dropZone_p0d3i_9._disabled_p0d3i_26{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;pointer-events:none}._dropZone_p0d3i_9._disabled_p0d3i_26:hover{background-color:transparent}._dropZone_p0d3i_9:before{content:"";position:absolute;inset:-2px;border:2px dashed var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius-md);pointer-events:none}._dropZone_p0d3i_9._active_p0d3i_45:before{border:none;background:linear-gradient(90deg,var(--dev-panel-accent-color) 50%,transparent 50%),linear-gradient(90deg,var(--dev-panel-accent-color) 50%,transparent 50%),linear-gradient(0deg,var(--dev-panel-accent-color) 50%,transparent 50%),linear-gradient(0deg,var(--dev-panel-accent-color) 50%,transparent 50%);background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:15px 2px,15px 2px,2px 15px,2px 15px;background-position:0px 0px,100% 100%,0px 100%,100% 0px;animation:_borderDance_p0d3i_1 2s infinite linear}._droppedImage_p0d3i_54{max-width:100%;max-height:100%;object-fit:contain}._supportedFormats_p0d3i_60{font-size:var(--dev-panel-font-size-sm);color:var(--dev-panel-text-color-muted);margin:var(--dev-panel-spacing-md) 0 0 0}._dropText_p0d3i_66{margin:0;color:var(--dev-panel-text-color)}._droppedFile_p0d3i_71{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}._droppedText_p0d3i_79{margin:0;color:var(--dev-panel-text-color);font-weight:var(--dev-panel-font-weight-medium);font-size:var(--dev-panel-font-size-md)}._errorMessage_p0d3i_86{padding:var(--dev-panel-spacing-md) var(--dev-panel-spacing-lg);border-radius:var(--dev-panel-border-radius-sm);color:var(--dev-panel-error-color);font-size:var(--dev-panel-font-size-md);margin:0}._errorMessage_p0d3i_86 p{margin:0}
@@ -1 +1 @@
1
- :root{--dev-panel-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--dev-panel-font-weight-normal: 400;--dev-panel-font-weight-medium: 500;--dev-panel-font-weight-semibold: 600;--dev-panel-font-weight-bold: 700;--dev-panel-font-size-xs: 10px;--dev-panel-font-size-sm: 12px;--dev-panel-font-size-md: 14px;--dev-panel-font-size-lg: 16px;--dev-panel-font-size-xl: 18px;--dev-panel-line-height-tight: 1.25;--dev-panel-line-height-normal: 1.5;--dev-panel-line-height-relaxed: 1.75;--dev-panel-accent-color: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}@media (prefers-color-scheme: light){:root{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._buttonGroupContainer_1irhu_217{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color);width:100%;display:flex;gap:var(--dev-panel-spacing-sm);background:var(--dev-panel-surface-color);border:1px solid var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius);padding:var(--dev-panel-spacing-sm);overflow-x:auto;container-type:inline-size}._buttonGroupContainer_1irhu_217::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}@container (max-width: 300px){._buttonGroupContainer_1irhu_217{gap:var(--dev-panel-spacing-xs);padding:var(--dev-panel-spacing-xs)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217{padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs)}}._buttonGroupContainer_1irhu_217 ._button_1irhu_217{padding:0;margin:0;border:none;background:none;font:inherit;color:inherit;flex:0 0 auto;min-width:max-content;background:var(--dev-panel-input-background-color);color:var(--dev-panel-text-color);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-medium);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-lg);border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);min-height:var(--dev-panel-inputs-height);display:flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:hover:not(:disabled):not(._active_1irhu_285){background:var(--dev-panel-surface-color-hover);border-color:var(--dev-panel-input-border-color-hover)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:active:not(:disabled){transform:scale(.98)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:focus:not(:focus-visible){box-shadow:none}._buttonGroupContainer_1irhu_217 ._button_1irhu_217._active_1irhu_285{background:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent);border-color:var(--dev-panel-accent-color)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217._active_1irhu_285:hover{background:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;background:var(--dev-panel-surface-color)}._buttonGroupContainer_1irhu_217._compact_1irhu_314 ._button_1irhu_217{padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs);min-height:calc(var(--dev-panel-inputs-height) - 4px)}
1
+ ._container_1oo6z_1{display:grid;grid-template-columns:var(--dev-panel-inputs-height-sm) 1fr;gap:var(--dev-panel-spacing-md);align-items:start}._container_1oo6z_1 ._colorPreview_1oo6z_7{overflow:hidden;width:var(--dev-panel-inputs-height-sm);height:var(--dev-panel-inputs-height-sm);cursor:pointer;border-radius:var(--dev-panel-border-radius);border:1px solid var(--dev-panel-input-border-color);transition:var(--dev-panel-transition);position:relative;background-color:var(--dev-panel-input-border-color);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0px}._container_1oo6z_1 ._colorPreview_1oo6z_7:hover{border-color:var(--dev-panel-input-border-color-hover);transform:scale(1.05)}._container_1oo6z_1 ._colorPreview_1oo6z_7:focus-within{border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._container_1oo6z_1 ._colorPreview_1oo6z_7:active{transform:scale(.95)}._container_1oo6z_1 ._colorPreview_1oo6z_7 input[type=color]{background:none;border:0;width:150%;height:150%;margin:-25%;cursor:pointer;opacity:0}._container_1oo6z_1 ._colorPreview_1oo6z_7 input[type=color]:focus{outline:none}._container_1oo6z_1 ._colorPreview_1oo6z_7 input[type=color]:disabled{cursor:not-allowed;opacity:.5}._container_1oo6z_1 ._inputSection_1oo6z_47{display:flex;flex-direction:column;gap:var(--dev-panel-spacing-sm)}._container_1oo6z_1 ._errorMessage_1oo6z_52{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-danger-color);font-weight:var(--dev-panel-font-weight-medium);grid-column:1/-1;margin-top:var(--dev-panel-spacing-xs)}._container_1oo6z_1 ._presets_1oo6z_59{display:flex;flex-wrap:wrap;gap:var(--dev-panel-spacing-xs);margin-top:var(--dev-panel-spacing-xs)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65{width:24px;height:24px;border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius-sm);cursor:pointer;transition:var(--dev-panel-transition);background:none;padding:0}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:hover{border-color:var(--dev-panel-input-border-color-hover);transform:scale(1.1)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:active{transform:scale(.95)}._container_1oo6z_1 ._presets_1oo6z_59 ._presetColor_1oo6z_65:disabled{cursor:not-allowed;opacity:.5;transform:none!important}._container_1oo6z_1:has(input:disabled){opacity:.6;pointer-events:none}._container_1oo6z_1:has(input:disabled) ._colorPreview_1oo6z_7{cursor:not-allowed;transform:none!important}
@@ -1 +1 @@
1
- :root{--dev-panel-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--dev-panel-font-weight-normal: 400;--dev-panel-font-weight-medium: 500;--dev-panel-font-weight-semibold: 600;--dev-panel-font-weight-bold: 700;--dev-panel-font-size-xs: 10px;--dev-panel-font-size-sm: 12px;--dev-panel-font-size-md: 14px;--dev-panel-font-size-lg: 16px;--dev-panel-font-size-xl: 18px;--dev-panel-line-height-tight: 1.25;--dev-panel-line-height-normal: 1.5;--dev-panel-line-height-relaxed: 1.75;--dev-panel-accent-color: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}@media (prefers-color-scheme: light){:root{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._button_1h30c_217{display:inline-flex;align-items:center;justify-content:center;gap:var(--dev-panel-spacing-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-lg);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-medium);line-height:var(--dev-panel-line-height-tight);border:var(--dev-panel-input-border-width) solid transparent;border-radius:var(--dev-panel-border-radius);background:transparent;color:inherit;text-decoration:none;white-space:nowrap;user-select:none;transition:var(--dev-panel-transition);cursor:pointer;width:100%;min-height:var(--dev-panel-button-height);border-color:var(--dev-panel-accent-color);background-color:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent);text-align:center}._button_1h30c_217:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;pointer-events:none}._button_1h30c_217:hover:not(:disabled){background-color:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover);box-shadow:var(--dev-panel-shadow-md)}._button_1h30c_217:active:not(:disabled){background-color:var(--dev-panel-accent-color-active);border-color:var(--dev-panel-accent-color-active);box-shadow:var(--dev-panel-shadow-sm)}._button_1h30c_217:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--dev-panel-accent-color) 30%,transparent)}._button_1h30c_217:focus:not(:focus-visible){box-shadow:none}._button_1h30c_217:disabled{background-color:var(--dev-panel-accent-color-disabled);border-color:var(--dev-panel-accent-color-disabled);color:var(--dev-panel-text-color-disabled);transform:none;box-shadow:none;opacity:var(--dev-panel-opacity-50);cursor:not-allowed}._button_1h30c_217._secondary_1h30c_274{background-color:transparent;color:var(--dev-panel-accent-color);border-color:var(--dev-panel-accent-color)}._button_1h30c_217._secondary_1h30c_274:hover:not(:disabled){background-color:color-mix(in srgb,var(--dev-panel-accent-color) 10%,transparent);color:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover)}._button_1h30c_217._secondary_1h30c_274:active:not(:disabled){background-color:color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent);color:var(--dev-panel-accent-color-active);border-color:var(--dev-panel-accent-color-active)}._button_1h30c_217._secondary_1h30c_274:disabled{background-color:transparent;color:var(--dev-panel-text-color-disabled);border-color:var(--dev-panel-border-color)}._button_1h30c_217._small_1h30c_294{min-height:var(--dev-panel-button-height-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs)}._button_1h30c_217._large_1h30c_299{min-height:var(--dev-panel-button-height-lg);padding:var(--dev-panel-spacing-lg) var(--dev-panel-spacing-xl);font-size:var(--dev-panel-font-size-md)}
1
+ :root{--dev-panel-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--dev-panel-font-weight-normal: 400;--dev-panel-font-weight-medium: 500;--dev-panel-font-weight-semibold: 600;--dev-panel-font-weight-bold: 700;--dev-panel-font-size-xs: 10px;--dev-panel-font-size-sm: 12px;--dev-panel-font-size-md: 14px;--dev-panel-font-size-lg: 16px;--dev-panel-font-size-xl: 18px;--dev-panel-line-height-tight: 1.25;--dev-panel-line-height-normal: 1.5;--dev-panel-line-height-relaxed: 1.75;--dev-panel-accent-color: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}@media (prefers-color-scheme: light){:root{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._buttonGroupContainer_1irhu_217{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color);width:100%;display:flex;gap:var(--dev-panel-spacing-sm);background:var(--dev-panel-surface-color);border:1px solid var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius);padding:var(--dev-panel-spacing-sm);overflow-x:auto;container-type:inline-size}._buttonGroupContainer_1irhu_217::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._buttonGroupContainer_1irhu_217::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}@container (max-width: 300px){._buttonGroupContainer_1irhu_217{gap:var(--dev-panel-spacing-xs);padding:var(--dev-panel-spacing-xs)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217{padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs)}}._buttonGroupContainer_1irhu_217 ._button_1irhu_217{padding:0;margin:0;border:none;background:none;font:inherit;color:inherit;flex:0 0 auto;min-width:max-content;background:var(--dev-panel-input-background-color);color:var(--dev-panel-text-color);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-medium);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-lg);border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);min-height:var(--dev-panel-inputs-height);display:flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:hover:not(:disabled):not(._active_1irhu_285){background:var(--dev-panel-surface-color-hover);border-color:var(--dev-panel-input-border-color-hover)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:active:not(:disabled){transform:scale(.98)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:focus:not(:focus-visible){box-shadow:none}._buttonGroupContainer_1irhu_217 ._button_1irhu_217._active_1irhu_285{background:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent);border-color:var(--dev-panel-accent-color)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217._active_1irhu_285:hover{background:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover)}._buttonGroupContainer_1irhu_217 ._button_1irhu_217:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;background:var(--dev-panel-surface-color)}._buttonGroupContainer_1irhu_217._compact_1irhu_314 ._button_1irhu_217{padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs);min-height:calc(var(--dev-panel-inputs-height) - 4px)}