glasswind 0.1.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.
- package/LICENSE +21 -0
- package/README.md +120 -0
- package/dist/index.cjs +1979 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +735 -0
- package/dist/index.d.ts +735 -0
- package/dist/index.js +1930 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +2663 -0
- package/dist/styles.css.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/styles/tokens.css","../src/styles/base.css","../src/components/Accordion/Accordion.css","../src/components/Avatar/Avatar.css","../src/components/Badge/Badge.css","../src/components/Button/Button.css","../src/components/Card/Card.css","../src/components/Checkbox/Checkbox.css","../src/components/Drawer/Drawer.css","../src/components/Dropdown/Dropdown.css","../src/components/Input/Input.css","../src/components/Modal/Modal.css","../src/components/Progress/Progress.css","../src/components/Radio/Radio.css","../src/components/Select/Select.css","../src/components/Slider/Slider.css","../src/components/Spinner/Spinner.css","../src/components/Switch/Switch.css","../src/components/Tabs/Tabs.css","../src/components/Textarea/Textarea.css","../src/components/Toast/Toast.css","../src/components/Tooltip/Tooltip.css"],"sourcesContent":["/* ============================================================\n Glasswind — Design Tokens\n Every component reads from these CSS variables. Override any\n of them (globally on :root, or scoped to a wrapper) to re-theme\n the entire library — tint, blur, radius, colors, motion.\n ============================================================ */\n\n:root {\n /* ---- Glass surface ---- */\n --gl-blur: 16px; /* backdrop blur radius */\n --gl-saturate: 180%; /* color pop behind glass */\n --gl-bg: rgba(255, 255, 255, 0.14); /* base surface fill */\n --gl-bg-hover: rgba(255, 255, 255, 0.22);\n --gl-bg-active: rgba(255, 255, 255, 0.28);\n --gl-bg-subtle: rgba(255, 255, 255, 0.08); /* inputs / low-emphasis surfaces */\n --gl-border: rgba(255, 255, 255, 0.30);\n --gl-border-strong: rgba(255, 255, 255, 0.45);\n --gl-highlight: rgba(255, 255, 255, 0.55); /* top-edge sheen */\n --gl-shadow: 0 8px 32px rgba(17, 24, 39, 0.18);\n --gl-shadow-lg: 0 20px 60px rgba(17, 24, 39, 0.28);\n --gl-inner-glow: inset 0 1px 0 0 var(--gl-highlight);\n\n /* ---- Accent colors ---- */\n --gl-primary: #6366f1;\n --gl-primary-hover: #4f52e0;\n --gl-primary-contrast: #ffffff;\n --gl-primary-soft: rgba(99, 102, 241, 0.16);\n --gl-success: #22c55e;\n --gl-success-soft: rgba(34, 197, 94, 0.16);\n --gl-danger: #ef4444;\n --gl-danger-soft: rgba(239, 68, 68, 0.16);\n --gl-warning: #f59e0b;\n --gl-warning-soft: rgba(245, 158, 11, 0.16);\n --gl-info: #0ea5e9;\n --gl-info-soft: rgba(14, 165, 233, 0.16);\n\n /* ---- Text ---- */\n --gl-text: rgba(17, 24, 39, 0.94);\n --gl-text-muted: rgba(17, 24, 39, 0.60);\n --gl-text-faint: rgba(17, 24, 39, 0.40);\n --gl-text-on-glass: rgba(17, 24, 39, 0.94);\n\n /* ---- Focus ring ---- */\n --gl-ring: 0 0 0 3px rgba(99, 102, 241, 0.45);\n\n /* ---- Radius ---- */\n --gl-radius-sm: 8px;\n --gl-radius: 14px;\n --gl-radius-lg: 20px;\n --gl-radius-xl: 28px;\n --gl-radius-full: 9999px;\n\n /* ---- Typography ---- */\n --gl-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,\n Arial, 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;\n --gl-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n --gl-fs-xs: 0.75rem;\n --gl-fs-sm: 0.85rem;\n --gl-fs: 0.95rem;\n --gl-fs-lg: 1.1rem;\n --gl-fs-xl: 1.35rem;\n --gl-fw: 500;\n --gl-fw-bold: 650;\n --gl-lh: 1.5;\n\n /* ---- Spacing scale ---- */\n --gl-space-1: 4px;\n --gl-space-2: 8px;\n --gl-space-3: 12px;\n --gl-space-4: 16px;\n --gl-space-5: 20px;\n --gl-space-6: 24px;\n --gl-space-8: 32px;\n\n /* ---- Control sizing (buttons, inputs, etc.) ---- */\n --gl-control-h-sm: 32px;\n --gl-control-h-md: 40px;\n --gl-control-h-lg: 48px;\n\n /* ---- Motion (GPU-friendly, animate transform/opacity only) ---- */\n --gl-ease: cubic-bezier(0.22, 1, 0.36, 1); /* smooth ease-out */\n --gl-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* gentle overshoot */\n --gl-dur-fast: 140ms;\n --gl-dur: 220ms;\n --gl-dur-slow: 340ms;\n\n /* ---- Layering ---- */\n --gl-z-dropdown: 900;\n --gl-z-drawer: 1000;\n --gl-z-modal: 1010;\n --gl-z-toast: 1100;\n --gl-z-tooltip: 1200;\n}\n\n/* ============================================================\n Dark theme — activate by adding data-theme=\"dark\" or the\n .gl-dark class to <html> or any wrapper element.\n ============================================================ */\n[data-theme='dark'],\n.gl-dark {\n --gl-bg: rgba(24, 24, 32, 0.48);\n --gl-bg-hover: rgba(38, 38, 50, 0.58);\n --gl-bg-active: rgba(48, 48, 62, 0.64);\n --gl-bg-subtle: rgba(255, 255, 255, 0.05);\n --gl-border: rgba(255, 255, 255, 0.14);\n --gl-border-strong: rgba(255, 255, 255, 0.26);\n --gl-highlight: rgba(255, 255, 255, 0.16);\n --gl-shadow: 0 8px 32px rgba(0, 0, 0, 0.50);\n --gl-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.62);\n\n --gl-primary: #818cf8;\n --gl-primary-hover: #a5b0ff;\n --gl-primary-soft: rgba(129, 140, 248, 0.20);\n\n --gl-text: rgba(255, 255, 255, 0.94);\n --gl-text-muted: rgba(255, 255, 255, 0.62);\n --gl-text-faint: rgba(255, 255, 255, 0.40);\n --gl-text-on-glass: rgba(255, 255, 255, 0.94);\n --gl-ring: 0 0 0 3px rgba(129, 140, 248, 0.50);\n}\n\n/* Optional: follow the OS preference automatically when the app\n opts in with the .gl-auto class on a wrapper. */\n@media (prefers-color-scheme: dark) {\n .gl-auto {\n --gl-bg: rgba(24, 24, 32, 0.48);\n --gl-bg-hover: rgba(38, 38, 50, 0.58);\n --gl-bg-active: rgba(48, 48, 62, 0.64);\n --gl-bg-subtle: rgba(255, 255, 255, 0.05);\n --gl-border: rgba(255, 255, 255, 0.14);\n --gl-border-strong: rgba(255, 255, 255, 0.26);\n --gl-highlight: rgba(255, 255, 255, 0.16);\n --gl-shadow: 0 8px 32px rgba(0, 0, 0, 0.50);\n --gl-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.62);\n --gl-primary: #818cf8;\n --gl-primary-hover: #a5b0ff;\n --gl-primary-soft: rgba(129, 140, 248, 0.20);\n --gl-text: rgba(255, 255, 255, 0.94);\n --gl-text-muted: rgba(255, 255, 255, 0.62);\n --gl-text-faint: rgba(255, 255, 255, 0.40);\n --gl-text-on-glass: rgba(255, 255, 255, 0.94);\n --gl-ring: 0 0 0 3px rgba(129, 140, 248, 0.50);\n }\n}\n","/* ============================================================\n Glasswind — Base layer\n Shared glass surface utility, focus ring, shared keyframes,\n and reduced-motion handling. Component CSS builds on top.\n ============================================================ */\n\n/* ---- Core frosted-glass surface ----\n Add `gl-glass` to any element to give it the signature look.\n Components apply these properties themselves, but this utility\n is exported for consumers who want to glass-ify their own nodes. */\n.gl-glass {\n position: relative;\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n color: var(--gl-text-on-glass);\n}\n\n/* Graceful fallback where backdrop-filter is unsupported:\n fall back to a more opaque solid so content stays readable. */\n@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {\n .gl-glass {\n background: rgba(255, 255, 255, 0.85);\n }\n [data-theme='dark'] .gl-glass,\n .gl-dark .gl-glass {\n background: rgba(28, 28, 36, 0.92);\n }\n}\n\n/* ---- Shared box-sizing + font for all Glasswind nodes ---- */\n[class^='gl-'],\n[class*=' gl-'] {\n box-sizing: border-box;\n}\n\n/* ---- Accessible focus ring used across interactive components ---- */\n.gl-focus-ring:focus-visible,\n.gl-focusable:focus-visible {\n outline: none;\n box-shadow: var(--gl-ring);\n}\n\n/* ---- Visually-hidden helper (screen-reader-only labels) ---- */\n.gl-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* ============================================================\n Shared keyframes — only transform & opacity are animated,\n so everything stays on the GPU compositor (no layout thrash,\n no jank).\n ============================================================ */\n@keyframes gl-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n@keyframes gl-fade-out {\n from { opacity: 1; }\n to { opacity: 0; }\n}\n@keyframes gl-scale-in {\n from { opacity: 0; transform: scale(0.94); }\n to { opacity: 1; transform: scale(1); }\n}\n@keyframes gl-scale-out {\n from { opacity: 1; transform: scale(1); }\n to { opacity: 0; transform: scale(0.94); }\n}\n@keyframes gl-slide-up {\n from { opacity: 0; transform: translate3d(0, 12px, 0); }\n to { opacity: 1; transform: translate3d(0, 0, 0); }\n}\n@keyframes gl-slide-down {\n from { opacity: 0; transform: translate3d(0, -12px, 0); }\n to { opacity: 1; transform: translate3d(0, 0, 0); }\n}\n@keyframes gl-slide-in-right {\n from { transform: translate3d(100%, 0, 0); }\n to { transform: translate3d(0, 0, 0); }\n}\n@keyframes gl-slide-in-left {\n from { transform: translate3d(-100%, 0, 0); }\n to { transform: translate3d(0, 0, 0); }\n}\n@keyframes gl-slide-in-top {\n from { transform: translate3d(0, -100%, 0); }\n to { transform: translate3d(0, 0, 0); }\n}\n@keyframes gl-slide-in-bottom {\n from { transform: translate3d(0, 100%, 0); }\n to { transform: translate3d(0, 0, 0); }\n}\n@keyframes gl-spin {\n to { transform: rotate(360deg); }\n}\n@keyframes gl-toast-in {\n from { opacity: 0; transform: translate3d(0, 16px, 0) scale(0.96); }\n to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }\n}\n@keyframes gl-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(250%); }\n}\n@keyframes gl-shimmer {\n 0% { background-position: -200% 0; }\n 100% { background-position: 200% 0; }\n}\n\n/* ============================================================\n Respect users who prefer reduced motion — kill animations\n and transitions on Glasswind nodes only.\n ============================================================ */\n@media (prefers-reduced-motion: reduce) {\n [class^='gl-'],\n [class*=' gl-'] {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n}\n","/* ===== Accordion ===== */\n.gl-accordion {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n}\n\n/* ---- Item ---- */\n.gl-accordion__item + .gl-accordion__item {\n border-top: 1px solid var(--gl-border);\n}\n\n.gl-accordion__item--disabled {\n opacity: 0.55;\n}\n\n/* ---- Header ---- */\n.gl-accordion__header {\n margin: 0;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n}\n\n/* ---- Trigger ---- */\n.gl-accordion__trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--gl-space-3);\n width: 100%;\n margin: 0;\n padding: var(--gl-space-4) var(--gl-space-5);\n font-family: inherit;\n font-size: var(--gl-fs);\n font-weight: var(--gl-fw-bold);\n line-height: var(--gl-lh);\n text-align: left;\n color: var(--gl-text-on-glass);\n background: transparent;\n border: 0;\n cursor: pointer;\n user-select: none;\n transition:\n background-color var(--gl-dur) var(--gl-ease),\n color var(--gl-dur) var(--gl-ease);\n}\n\n.gl-accordion__trigger:hover {\n background: var(--gl-bg-hover);\n}\n\n.gl-accordion__trigger:active {\n background: var(--gl-bg-active);\n}\n\n/* Inset focus ring so it is never clipped by the container's overflow. */\n.gl-accordion__trigger:focus-visible {\n outline: none;\n box-shadow: inset var(--gl-ring);\n}\n\n.gl-accordion__trigger:disabled {\n cursor: not-allowed;\n}\n\n.gl-accordion__title {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n/* ---- Chevron ---- */\n.gl-accordion__chevron {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n font-size: 1.15em;\n color: var(--gl-text-muted);\n transition: transform var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n\n.gl-accordion__trigger[aria-expanded='true'] .gl-accordion__chevron {\n transform: rotate(180deg);\n}\n\n/* ---- Panel: animate open/close via grid-template-rows 0fr -> 1fr ---- */\n.gl-accordion__panel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--gl-dur) var(--gl-ease);\n}\n\n.gl-accordion__panel[data-state='open'] {\n grid-template-rows: 1fr;\n}\n\n/* Overflow wrapper — clips content while the grid row collapses to 0fr.\n `visibility` is delayed until the collapse finishes so collapsed content\n is removed from the tab order and the accessibility tree. */\n.gl-accordion__content {\n overflow: hidden;\n min-height: 0;\n visibility: hidden;\n transition: visibility 0s linear var(--gl-dur);\n}\n\n.gl-accordion__panel[data-state='open'] .gl-accordion__content {\n visibility: visible;\n transition-delay: 0s;\n}\n\n/* Padding lives on an inner element so the outer row can collapse to a true 0. */\n.gl-accordion__body {\n padding: 0 var(--gl-space-5) var(--gl-space-5);\n color: var(--gl-text-muted);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n}\n","/* ===== Avatar ===== */\n.gl-avatar {\n --_avatar-size: 36px;\n --_avatar-fs: var(--gl-fs-sm);\n\n position: relative;\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: var(--_avatar-size);\n height: var(--_avatar-size);\n font-family: var(--gl-font);\n font-size: var(--_avatar-fs);\n font-weight: var(--gl-fw-bold);\n line-height: 1;\n letter-spacing: 0.02em;\n vertical-align: middle;\n user-select: none;\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-full);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n}\n\n/* Rim sheen — sits above the image to preserve the glass look */\n.gl-avatar::after {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 2;\n padding: 1px;\n border-radius: inherit;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* ---- Shapes ---- */\n.gl-avatar--circle {\n border-radius: var(--gl-radius-full);\n}\n.gl-avatar--square {\n border-radius: var(--gl-radius);\n}\n\n/* ---- Sizes ---- */\n.gl-avatar--sm {\n --_avatar-size: 28px;\n --_avatar-fs: var(--gl-fs-xs);\n}\n.gl-avatar--md {\n --_avatar-size: 36px;\n --_avatar-fs: var(--gl-fs-sm);\n}\n.gl-avatar--lg {\n --_avatar-size: 48px;\n --_avatar-fs: var(--gl-fs);\n}\n.gl-avatar--xl {\n --_avatar-size: 64px;\n --_avatar-fs: var(--gl-fs-lg);\n}\n\n/* ---- Content ---- */\n.gl-avatar__img {\n position: absolute;\n inset: 0;\n z-index: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n object-fit: cover;\n animation: gl-fade-in var(--gl-dur) var(--gl-ease);\n}\n\n.gl-avatar__initials {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-transform: uppercase;\n}\n\n.gl-avatar__icon {\n width: 62%;\n height: 62%;\n color: var(--gl-text-muted);\n}\n\n/* ---- Presence status dot ---- */\n.gl-avatar__status {\n position: absolute;\n right: 6%;\n bottom: 6%;\n z-index: 3;\n width: 28%;\n height: 28%;\n min-width: 8px;\n min-height: 8px;\n border: 2px solid var(--gl-border-strong);\n border-radius: var(--gl-radius-full);\n box-shadow: var(--gl-shadow);\n animation: gl-scale-in var(--gl-dur) var(--gl-ease-spring);\n}\n\n/* Nudge the dot onto the corner for square avatars */\n.gl-avatar--square .gl-avatar__status {\n right: -3px;\n bottom: -3px;\n}\n\n.gl-avatar__status--online {\n background: var(--gl-success);\n}\n.gl-avatar__status--offline {\n background: var(--gl-text-faint);\n}\n.gl-avatar__status--busy {\n background: var(--gl-danger);\n}\n.gl-avatar__status--away {\n background: var(--gl-warning);\n}\n","/* ===== Badge ===== */\n.gl-badge {\n /* Accent color used by the dot + colored variants (overridden per variant) */\n --_badge-accent: var(--gl-text);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--_badge-gap, var(--gl-space-2));\n padding: var(--_badge-py, var(--gl-space-1)) var(--_badge-px, var(--gl-space-3));\n font-family: var(--gl-font);\n font-size: var(--_badge-fs, var(--gl-fs-sm));\n font-weight: var(--gl-fw-bold);\n line-height: 1;\n white-space: nowrap;\n vertical-align: middle;\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-sm);\n color: var(--gl-text-on-glass);\n}\n\n/* ---- Shape ---- */\n.gl-badge--pill {\n border-radius: var(--gl-radius-full);\n}\n\n/* ---- Sizes ---- */\n.gl-badge--md {\n --_badge-fs: var(--gl-fs-sm);\n --_badge-px: var(--gl-space-3);\n --_badge-py: var(--gl-space-1);\n --_badge-gap: var(--gl-space-2);\n}\n.gl-badge--sm {\n --_badge-fs: var(--gl-fs-xs);\n --_badge-px: var(--gl-space-2);\n --_badge-py: var(--gl-space-1);\n --_badge-gap: var(--gl-space-1);\n}\n\n/* ---- Default glass variant ----\n The frosted surface + top-edge sheen that sells the glass look. */\n.gl-badge--glass {\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n}\n.gl-badge--glass::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* ---- Colored variants ----\n Soft token background + solid accent as the text/border color. */\n.gl-badge--primary,\n.gl-badge--success,\n.gl-badge--danger,\n.gl-badge--warning,\n.gl-badge--info {\n color: var(--_badge-accent);\n border-color: color-mix(in srgb, var(--_badge-accent) 40%, transparent);\n}\n\n.gl-badge--primary {\n --_badge-accent: var(--gl-primary);\n background: var(--gl-primary-soft);\n}\n.gl-badge--success {\n --_badge-accent: var(--gl-success);\n background: var(--gl-success-soft);\n}\n.gl-badge--danger {\n --_badge-accent: var(--gl-danger);\n background: var(--gl-danger-soft);\n}\n.gl-badge--warning {\n --_badge-accent: var(--gl-warning);\n background: var(--gl-warning-soft);\n}\n.gl-badge--info {\n --_badge-accent: var(--gl-info);\n background: var(--gl-info-soft);\n}\n\n/* ---- Sub-elements ---- */\n.gl-badge__dot {\n flex: none;\n width: 0.5em;\n height: 0.5em;\n border-radius: var(--gl-radius-full);\n background: var(--_badge-accent);\n}\n\n.gl-badge__label {\n display: inline-flex;\n align-items: center;\n}\n","/* ===== Button ===== */\n.gl-btn {\n --_btn-h: var(--gl-control-h-md);\n --_btn-px: var(--gl-space-5);\n --_btn-fs: var(--gl-fs);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--gl-space-2);\n height: var(--_btn-h);\n padding: 0 var(--_btn-px);\n font-family: var(--gl-font);\n font-size: var(--_btn-fs);\n font-weight: var(--gl-fw-bold);\n line-height: 1;\n white-space: nowrap;\n text-decoration: none;\n cursor: pointer;\n user-select: none;\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius);\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease),\n border-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease),\n opacity var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n\n/* Top-edge sheen — the subtle highlight that sells the glass look */\n.gl-btn::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(\n 180deg,\n var(--gl-highlight),\n transparent 60%\n );\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n.gl-btn:hover {\n background: var(--gl-bg-hover);\n transform: translateY(-1px);\n box-shadow: var(--gl-shadow-lg), var(--gl-inner-glow);\n}\n.gl-btn:active {\n transform: translateY(0) scale(0.97);\n background: var(--gl-bg-active);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n}\n\n/* ---- Sizes ---- */\n.gl-btn--sm {\n --_btn-h: var(--gl-control-h-sm);\n --_btn-px: var(--gl-space-4);\n --_btn-fs: var(--gl-fs-sm);\n border-radius: var(--gl-radius-sm);\n}\n.gl-btn--lg {\n --_btn-h: var(--gl-control-h-lg);\n --_btn-px: var(--gl-space-6);\n --_btn-fs: var(--gl-fs-lg);\n border-radius: var(--gl-radius-lg);\n}\n\n/* ---- Variants ---- */\n.gl-btn--primary {\n background: linear-gradient(\n 180deg,\n color-mix(in srgb, var(--gl-primary) 88%, white 12%),\n var(--gl-primary)\n );\n border-color: color-mix(in srgb, var(--gl-primary) 70%, black 30%);\n color: var(--gl-primary-contrast);\n}\n.gl-btn--primary:hover {\n background: linear-gradient(\n 180deg,\n color-mix(in srgb, var(--gl-primary) 80%, white 20%),\n var(--gl-primary-hover)\n );\n}\n.gl-btn--primary:active {\n background: var(--gl-primary-hover);\n}\n\n.gl-btn--secondary {\n background: var(--gl-bg-subtle);\n color: var(--gl-text);\n}\n\n.gl-btn--ghost {\n background: transparent;\n border-color: transparent;\n box-shadow: none;\n -webkit-backdrop-filter: none;\n backdrop-filter: none;\n color: var(--gl-text);\n}\n.gl-btn--ghost::before { display: none; }\n.gl-btn--ghost:hover {\n background: var(--gl-bg-subtle);\n box-shadow: none;\n}\n.gl-btn--ghost:active {\n background: var(--gl-bg-hover);\n box-shadow: none;\n}\n\n.gl-btn--danger {\n background: linear-gradient(\n 180deg,\n color-mix(in srgb, var(--gl-danger) 88%, white 12%),\n var(--gl-danger)\n );\n border-color: color-mix(in srgb, var(--gl-danger) 70%, black 30%);\n color: #fff;\n}\n\n/* ---- States ---- */\n.gl-btn:disabled,\n.gl-btn[aria-disabled='true'] {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n}\n\n.gl-btn--block {\n display: flex;\n width: 100%;\n}\n\n.gl-btn--loading {\n cursor: progress;\n color: transparent !important;\n}\n.gl-btn--loading .gl-btn__label,\n.gl-btn--loading .gl-btn__icon {\n opacity: 0;\n}\n\n/* ---- Sub-elements ---- */\n.gl-btn__label {\n display: inline-flex;\n align-items: center;\n}\n.gl-btn__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 1.1em;\n}\n\n.gl-btn__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 1.15em;\n height: 1.15em;\n margin: -0.575em 0 0 -0.575em;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: var(--gl-radius-full);\n color: var(--gl-text);\n animation: gl-spin 0.7s linear infinite;\n}\n.gl-btn--primary .gl-btn__spinner,\n.gl-btn--danger .gl-btn__spinner {\n color: #fff;\n}\n","/* ===== Card ===== */\n.gl-card {\n --_card-pad: var(--gl-space-6);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n color: var(--gl-text-on-glass);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-lg);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n transition:\n transform var(--gl-dur) var(--gl-ease),\n border-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n}\n\n/* Top-edge sheen — the subtle highlight that sells the glass look */\n.gl-card::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* ---- Variants ---- */\n.gl-card--glass {\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n}\n\n.gl-card--solid {\n background: var(--gl-bg-subtle);\n -webkit-backdrop-filter: none;\n backdrop-filter: none;\n}\n\n/* ---- Padding (drives the shared --_card-pad token) ---- */\n.gl-card--pad-none {\n --_card-pad: 0px;\n}\n.gl-card--pad-sm {\n --_card-pad: var(--gl-space-3);\n}\n.gl-card--pad-md {\n --_card-pad: var(--gl-space-4);\n}\n.gl-card--pad-lg {\n --_card-pad: var(--gl-space-6);\n}\n\n/* ---- Hover lift ---- */\n.gl-card--hoverable {\n cursor: pointer;\n will-change: transform;\n}\n.gl-card--hoverable:hover {\n transform: translateY(-4px);\n border-color: var(--gl-border-strong);\n box-shadow: var(--gl-shadow-lg), var(--gl-inner-glow);\n}\n\n/* ---- Sections ---- */\n.gl-card__header,\n.gl-card__body,\n.gl-card__footer {\n position: relative;\n padding: var(--_card-pad);\n}\n\n.gl-card__header {\n border-bottom: 1px solid var(--gl-border);\n}\n\n.gl-card__footer {\n border-top: 1px solid var(--gl-border);\n}\n\n.gl-card__body {\n flex: 1 1 auto;\n min-height: 0;\n}\n","/* ===== Checkbox ===== */\n.gl-checkbox {\n --_box: 20px;\n --_accent: var(--gl-primary);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gl-space-2);\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n color: var(--gl-text);\n cursor: pointer;\n user-select: none;\n}\n\n/* ---- Sizes ---- */\n.gl-checkbox--sm {\n --_box: 16px;\n font-size: var(--gl-fs-sm);\n}\n.gl-checkbox--lg {\n --_box: 24px;\n font-size: var(--gl-fs-lg);\n}\n\n/* ---- The glass box ---- */\n.gl-checkbox__box {\n position: relative;\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_box);\n height: var(--_box);\n color: var(--gl-primary-contrast);\n background: var(--gl-bg-subtle);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-sm);\n box-shadow: var(--gl-inner-glow);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n transition:\n background-color var(--gl-dur) var(--gl-ease),\n border-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease),\n transform var(--gl-dur-fast) var(--gl-ease);\n will-change: transform;\n}\n\n/* Top-edge sheen — the highlight that sells the glass look */\n.gl-checkbox__box::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n.gl-checkbox:hover .gl-checkbox__box {\n border-color: var(--gl-border-strong);\n background: var(--gl-bg);\n}\n.gl-checkbox:active .gl-checkbox__box {\n transform: scale(0.92);\n}\n\n/* ---- Check mark ---- */\n.gl-checkbox__check {\n width: 72%;\n height: 72%;\n opacity: 0;\n transform: scale(0.6);\n transition:\n opacity var(--gl-dur-fast) var(--gl-ease),\n transform var(--gl-dur) var(--gl-ease-spring);\n}\n\n/* ---- Indeterminate dash ---- */\n.gl-checkbox__dash {\n position: absolute;\n width: 56%;\n height: 2px;\n border-radius: var(--gl-radius-full);\n background: currentColor;\n opacity: 0;\n transform: scaleX(0.4);\n transition:\n opacity var(--gl-dur-fast) var(--gl-ease),\n transform var(--gl-dur) var(--gl-ease-spring);\n}\n\n/* ---- Selected (checked) ---- */\n.gl-checkbox__input:checked + .gl-checkbox__box {\n background: var(--_accent);\n border-color: var(--_accent);\n}\n.gl-checkbox__input:checked + .gl-checkbox__box .gl-checkbox__check {\n opacity: 1;\n transform: scale(1);\n}\n\n/* ---- Indeterminate (wins over checked for the visible mark) ---- */\n.gl-checkbox__input:indeterminate + .gl-checkbox__box {\n background: var(--_accent);\n border-color: var(--_accent);\n}\n.gl-checkbox__input:indeterminate + .gl-checkbox__box .gl-checkbox__check {\n opacity: 0;\n transform: scale(0.6);\n}\n.gl-checkbox__input:indeterminate + .gl-checkbox__box .gl-checkbox__dash {\n opacity: 1;\n transform: scaleX(1);\n}\n\n/* ---- Error ---- */\n.gl-checkbox--error {\n --_accent: var(--gl-danger);\n}\n.gl-checkbox--error .gl-checkbox__box {\n border-color: var(--gl-danger);\n}\n.gl-checkbox--error .gl-checkbox__label {\n color: var(--gl-danger);\n}\n\n/* ---- Focus ring (driven by the hidden input's focus state) ---- */\n.gl-checkbox__input:focus-visible + .gl-checkbox__box {\n outline: none;\n box-shadow: var(--gl-ring);\n}\n\n/* ---- Disabled ---- */\n.gl-checkbox--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.gl-checkbox--disabled .gl-checkbox__box {\n transform: none;\n}\n\n/* ---- Label ---- */\n.gl-checkbox__label {\n display: inline-block;\n}\n","/* ===== Drawer ===== */\n.gl-drawer {\n position: fixed;\n inset: 0;\n z-index: var(--gl-z-drawer);\n}\n\n/* ---- Backdrop scrim ---- */\n.gl-drawer__backdrop {\n position: fixed;\n inset: 0;\n background: rgba(17, 24, 39, 0.45);\n -webkit-backdrop-filter: blur(2px);\n backdrop-filter: blur(2px);\n animation: gl-fade-in var(--gl-dur) var(--gl-ease) both;\n}\n\n/* ---- Panel (frosted glass, pinned to an edge) ---- */\n.gl-drawer__panel {\n position: fixed;\n display: flex;\n flex-direction: column;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n line-height: var(--gl-lh);\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n border: 1px solid var(--gl-border);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow-lg), var(--gl-inner-glow);\n outline: none;\n will-change: transform;\n animation-duration: var(--gl-dur);\n animation-timing-function: var(--gl-ease);\n animation-fill-mode: both;\n}\n\n/* Graceful fallback where backdrop-filter is unsupported. */\n@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {\n .gl-drawer__panel {\n background: rgba(255, 255, 255, 0.9);\n }\n [data-theme='dark'] .gl-drawer__panel,\n .gl-dark .gl-drawer__panel {\n background: rgba(28, 28, 36, 0.94);\n }\n}\n\n/* ---- Sides: left / right span full height ---- */\n.gl-drawer__panel--left,\n.gl-drawer__panel--right {\n top: 0;\n height: 100%;\n}\n.gl-drawer__panel--left {\n left: 0;\n border-top-right-radius: var(--gl-radius-lg);\n border-bottom-right-radius: var(--gl-radius-lg);\n animation-name: gl-slide-in-left;\n}\n.gl-drawer__panel--right {\n right: 0;\n border-top-left-radius: var(--gl-radius-lg);\n border-bottom-left-radius: var(--gl-radius-lg);\n animation-name: gl-slide-in-right;\n}\n\n/* ---- Sides: top / bottom span full width ---- */\n.gl-drawer__panel--top,\n.gl-drawer__panel--bottom {\n left: 0;\n width: 100%;\n}\n.gl-drawer__panel--top {\n top: 0;\n border-bottom-left-radius: var(--gl-radius-lg);\n border-bottom-right-radius: var(--gl-radius-lg);\n animation-name: gl-slide-in-top;\n}\n.gl-drawer__panel--bottom {\n bottom: 0;\n border-top-left-radius: var(--gl-radius-lg);\n border-top-right-radius: var(--gl-radius-lg);\n animation-name: gl-slide-in-bottom;\n}\n\n/* ---- Sections ---- */\n.gl-drawer__header,\n.gl-drawer__footer {\n display: flex;\n flex: none;\n align-items: center;\n gap: var(--gl-space-4);\n}\n\n.gl-drawer__header {\n padding: var(--gl-space-5) var(--gl-space-6);\n border-bottom: 1px solid var(--gl-border);\n}\n\n.gl-drawer__title {\n margin: 0;\n font-size: var(--gl-fs-lg);\n font-weight: var(--gl-fw-bold);\n line-height: 1.25;\n color: var(--gl-text);\n}\n\n.gl-drawer__body {\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n padding: var(--gl-space-6);\n}\n\n.gl-drawer__footer {\n justify-content: flex-end;\n gap: var(--gl-space-3);\n padding: var(--gl-space-5) var(--gl-space-6);\n border-top: 1px solid var(--gl-border);\n}\n\n/* ---- Close button ---- */\n.gl-drawer__close {\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n margin-inline-start: auto;\n width: var(--gl-control-h-sm);\n height: var(--gl-control-h-sm);\n padding: 0;\n cursor: pointer;\n color: var(--gl-text-muted);\n background: transparent;\n border: 1px solid transparent;\n border-radius: var(--gl-radius-full);\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n color var(--gl-dur) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease);\n}\n.gl-drawer__close:hover {\n color: var(--gl-text);\n background: var(--gl-bg-subtle);\n}\n.gl-drawer__close:active {\n transform: scale(0.94);\n}\n","/* ===== Dropdown ===== */\n.gl-dropdown {\n position: relative;\n display: inline-flex;\n}\n\n/* ---- Trigger ---- */\n.gl-dropdown__trigger {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--gl-space-2);\n height: var(--gl-control-h-md);\n padding: 0 var(--gl-space-5);\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n font-weight: var(--gl-fw-bold);\n line-height: 1;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n color: var(--gl-text-on-glass);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease),\n border-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n\n/* Top-edge sheen — sells the glass look */\n.gl-dropdown__trigger::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n.gl-dropdown__trigger:hover {\n background: var(--gl-bg-hover);\n transform: translateY(-1px);\n box-shadow: var(--gl-shadow-lg), var(--gl-inner-glow);\n}\n.gl-dropdown__trigger:active {\n transform: translateY(0) scale(0.97);\n background: var(--gl-bg-active);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n}\n.gl-dropdown__trigger[aria-expanded='true'] {\n background: var(--gl-bg-hover);\n}\n.gl-dropdown__trigger:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n}\n\n/* ---- Menu surface ---- */\n.gl-dropdown__menu {\n position: absolute;\n z-index: var(--gl-z-dropdown);\n min-width: 12rem;\n max-width: min(20rem, calc(100vw - var(--gl-space-4)));\n padding: var(--gl-space-2);\n display: flex;\n flex-direction: column;\n gap: 2px;\n color: var(--gl-text-on-glass);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow-lg), var(--gl-inner-glow);\n outline: none;\n animation: gl-scale-in var(--gl-dur) var(--gl-ease);\n}\n\n/* Menu top-edge sheen */\n.gl-dropdown__menu::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.6;\n pointer-events: none;\n}\n\n/* ---- Placement ---- */\n.gl-dropdown__menu--bottom-start {\n top: calc(100% + var(--gl-space-2));\n left: 0;\n transform-origin: top left;\n}\n.gl-dropdown__menu--bottom-end {\n top: calc(100% + var(--gl-space-2));\n right: 0;\n transform-origin: top right;\n}\n.gl-dropdown__menu--top-start {\n bottom: calc(100% + var(--gl-space-2));\n left: 0;\n transform-origin: bottom left;\n}\n.gl-dropdown__menu--top-end {\n bottom: calc(100% + var(--gl-space-2));\n right: 0;\n transform-origin: bottom right;\n}\n\n/* ---- Item ---- */\n.gl-dropdown__item {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--gl-space-3);\n width: 100%;\n padding: var(--gl-space-2) var(--gl-space-3);\n font-family: var(--gl-font);\n font-size: var(--gl-fs-sm);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n text-align: left;\n white-space: nowrap;\n cursor: pointer;\n color: var(--gl-text);\n border: none;\n border-radius: var(--gl-radius-sm);\n background: transparent;\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n background-color var(--gl-dur-fast) var(--gl-ease),\n color var(--gl-dur-fast) var(--gl-ease);\n will-change: transform;\n}\n.gl-dropdown__item:hover,\n.gl-dropdown__item:focus-visible {\n background: var(--gl-bg-hover);\n color: var(--gl-text);\n}\n.gl-dropdown__item:active {\n transform: scale(0.98);\n background: var(--gl-bg-active);\n}\n.gl-dropdown__item:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n background: transparent;\n transform: none;\n}\n\n.gl-dropdown__item-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n font-size: 1.1em;\n color: var(--gl-text-muted);\n}\n.gl-dropdown__item-label {\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ---- Separator ---- */\n.gl-dropdown__separator {\n height: 1px;\n margin: var(--gl-space-2) calc(-1 * var(--gl-space-1));\n background: var(--gl-border);\n border: none;\n}\n\n/* ---- Group label ---- */\n.gl-dropdown__label {\n padding: var(--gl-space-2) var(--gl-space-3) var(--gl-space-1);\n font-family: var(--gl-font);\n font-size: var(--gl-fs-xs);\n font-weight: var(--gl-fw-bold);\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--gl-text-faint);\n user-select: none;\n}\n","/* ===== Input ===== */\n.gl-input {\n --_input-h: var(--gl-control-h-md);\n --_input-px: var(--gl-space-4);\n --_input-fs: var(--gl-fs);\n --_input-radius: var(--gl-radius);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gl-space-2);\n height: var(--_input-h);\n padding: 0 var(--_input-px);\n font-family: var(--gl-font);\n border: 1px solid var(--gl-border);\n border-radius: var(--_input-radius);\n color: var(--gl-text-on-glass);\n background: var(--gl-bg-subtle);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-inner-glow);\n cursor: text;\n transition:\n border-color var(--gl-dur) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n}\n\n/* Top-edge sheen — the subtle highlight that sells the glass look */\n.gl-input::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.6;\n pointer-events: none;\n}\n\n.gl-input:hover {\n border-color: var(--gl-border-strong);\n}\n\n/* Wrapper carries the focus ring so icons + field feel like one control */\n.gl-input:focus-within {\n border-color: var(--gl-border-strong);\n box-shadow: var(--gl-ring), var(--gl-inner-glow);\n}\n\n/* ---- Variants ---- */\n.gl-input--subtle {\n background: var(--gl-bg-subtle);\n}\n.gl-input--glass {\n background: var(--gl-bg);\n border-color: var(--gl-border);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n}\n.gl-input--glass:focus-within {\n box-shadow: var(--gl-ring), var(--gl-shadow), var(--gl-inner-glow);\n}\n\n/* ---- Sizes ---- */\n.gl-input--md {\n --_input-h: var(--gl-control-h-md);\n --_input-px: var(--gl-space-4);\n --_input-fs: var(--gl-fs);\n --_input-radius: var(--gl-radius);\n}\n.gl-input--sm {\n --_input-h: var(--gl-control-h-sm);\n --_input-px: var(--gl-space-3);\n --_input-fs: var(--gl-fs-sm);\n --_input-radius: var(--gl-radius-sm);\n gap: var(--gl-space-1);\n}\n.gl-input--lg {\n --_input-h: var(--gl-control-h-lg);\n --_input-px: var(--gl-space-5);\n --_input-fs: var(--gl-fs-lg);\n --_input-radius: var(--gl-radius-lg);\n}\n\n/* ---- Error ---- */\n.gl-input--error {\n border-color: var(--gl-danger);\n}\n.gl-input--error:hover {\n border-color: var(--gl-danger);\n}\n.gl-input--error:focus-within {\n border-color: var(--gl-danger);\n box-shadow: 0 0 0 3px var(--gl-danger-soft), var(--gl-inner-glow);\n}\n\n/* ---- Layout ---- */\n.gl-input--block {\n display: flex;\n width: 100%;\n}\n\n/* ---- Disabled ---- */\n.gl-input--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.gl-input--disabled .gl-input__field {\n cursor: not-allowed;\n}\n\n/* ---- Field ---- */\n.gl-input__field {\n flex: 1 1 auto;\n min-width: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n background: transparent;\n color: inherit;\n font-family: inherit;\n font-size: var(--_input-fs);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n text-overflow: ellipsis;\n}\n.gl-input__field::placeholder {\n color: var(--gl-text-faint);\n opacity: 1;\n}\n.gl-input__field:disabled {\n cursor: not-allowed;\n}\n/* Kill the UA number spinners for a clean glass field */\n.gl-input__field::-webkit-outer-spin-button,\n.gl-input__field::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* ---- Icons ---- */\n.gl-input__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n color: var(--gl-text-muted);\n font-size: 1.1em;\n pointer-events: none;\n}\n/* Optically tuck each adornment toward its padding edge */\n.gl-input__icon--left {\n margin-inline-start: calc(-1 * var(--gl-space-1));\n}\n.gl-input__icon--right {\n margin-inline-end: calc(-1 * var(--gl-space-1));\n}\n","/* ===== Modal (Dialog) ===== */\n\n/* ---- Backdrop / scrim ---- */\n.gl-modal__backdrop {\n position: fixed;\n inset: 0;\n z-index: var(--gl-z-modal);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--gl-space-6);\n overflow-y: auto;\n background: rgba(17, 24, 39, 0.55);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n animation: gl-fade-in var(--gl-dur) var(--gl-ease);\n}\n\n/* ---- Panel (glass surface) ---- */\n.gl-modal__panel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: calc(100vh - var(--gl-space-8) * 2);\n overflow: hidden;\n font-family: var(--gl-font);\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-lg);\n box-shadow: var(--gl-shadow-lg), var(--gl-inner-glow);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n outline: none;\n animation: gl-scale-in var(--gl-dur) var(--gl-ease);\n will-change: transform, opacity;\n}\n\n/* Top-edge sheen — the highlight that sells the glass look */\n.gl-modal__panel::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* ---- Sizes ---- */\n.gl-modal__panel--sm {\n max-width: 380px;\n}\n.gl-modal__panel--md {\n max-width: 520px;\n}\n.gl-modal__panel--lg {\n max-width: 760px;\n}\n.gl-modal__panel--full {\n max-width: none;\n width: 100%;\n height: 100%;\n max-height: none;\n}\n\n/* ---- Header ---- */\n.gl-modal__header {\n display: flex;\n align-items: center;\n gap: var(--gl-space-4);\n flex: none;\n padding: var(--gl-space-5) var(--gl-space-6);\n border-bottom: 1px solid var(--gl-border);\n}\n\n.gl-modal__title {\n margin: 0;\n font-family: var(--gl-font);\n font-size: var(--gl-fs-xl);\n font-weight: var(--gl-fw-bold);\n line-height: var(--gl-lh);\n color: var(--gl-text);\n}\n\n/* ---- Close button ---- */\n.gl-modal__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n margin-inline-start: auto;\n width: var(--gl-control-h-sm);\n height: var(--gl-control-h-sm);\n padding: 0;\n font-size: var(--gl-fs-lg);\n color: var(--gl-text-muted);\n cursor: pointer;\n background: transparent;\n border: 1px solid transparent;\n border-radius: var(--gl-radius-full);\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease),\n color var(--gl-dur) var(--gl-ease);\n}\n.gl-modal__close:hover {\n color: var(--gl-text);\n background: var(--gl-bg-subtle);\n}\n.gl-modal__close:active {\n transform: scale(0.92);\n}\n.gl-modal__close svg {\n width: 1em;\n height: 1em;\n}\n\n/* ---- Body ---- */\n.gl-modal__body {\n flex: 1 1 auto;\n min-height: 0;\n padding: var(--gl-space-6);\n overflow-y: auto;\n font-size: var(--gl-fs);\n line-height: var(--gl-lh);\n color: var(--gl-text);\n}\n\n/* ---- Footer ---- */\n.gl-modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--gl-space-3);\n flex: none;\n padding: var(--gl-space-5) var(--gl-space-6);\n border-top: 1px solid var(--gl-border);\n}\n","/* ===== Progress ===== */\n.gl-progress {\n --_track-h: 10px;\n --_fill: var(--gl-primary);\n\n display: flex;\n align-items: center;\n gap: var(--gl-space-3);\n width: 100%;\n font-family: var(--gl-font);\n}\n\n/* ---- Sizes ---- */\n.gl-progress--sm {\n --_track-h: 6px;\n}\n.gl-progress--md {\n --_track-h: 10px;\n}\n.gl-progress--lg {\n --_track-h: 14px;\n}\n\n/* ---- Colors ---- */\n.gl-progress--primary {\n --_fill: var(--gl-primary);\n}\n.gl-progress--success {\n --_fill: var(--gl-success);\n}\n.gl-progress--danger {\n --_fill: var(--gl-danger);\n}\n.gl-progress--warning {\n --_fill: var(--gl-warning);\n}\n.gl-progress--info {\n --_fill: var(--gl-info);\n}\n\n/* ---- Track: glass subtle rounded bar ---- */\n.gl-progress__track {\n position: relative;\n flex: 1 1 auto;\n height: var(--_track-h);\n overflow: hidden;\n background: var(--gl-bg-subtle);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-full);\n box-shadow: var(--gl-inner-glow);\n}\n\n/* ---- Determinate fill: GPU-friendly scaleX reveal ---- */\n.gl-progress__bar {\n position: absolute;\n inset: 0;\n transform-origin: left center;\n transform: scaleX(var(--gl-progress-value, 0));\n border-radius: inherit;\n background: linear-gradient(\n 90deg,\n color-mix(in srgb, var(--_fill) 82%, white 18%),\n var(--_fill)\n );\n transition: transform var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n\n/* Top-edge sheen that sells the glass gloss on the fill */\n.gl-progress__bar::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 55%);\n opacity: 0.5;\n pointer-events: none;\n}\n\n/* ---- Indeterminate fill: looping partial sweep ---- */\n.gl-progress__bar--indeterminate {\n right: auto;\n width: 40%;\n transform: none;\n transition: none;\n animation: gl-indeterminate 1.4s var(--gl-ease) infinite;\n}\n\n/* ---- Percentage label ---- */\n.gl-progress__label {\n flex: 0 0 auto;\n min-width: 3ch;\n font-size: var(--gl-fs-sm);\n font-weight: var(--gl-fw-bold);\n font-variant-numeric: tabular-nums;\n color: var(--gl-text-muted);\n text-align: right;\n}\n\n/* ---- Reduced motion: keep the indeterminate state visible without sweeping ---- */\n@media (prefers-reduced-motion: reduce) {\n .gl-progress__bar--indeterminate {\n left: 0;\n right: 0;\n width: auto;\n transform: none;\n opacity: 0.6;\n }\n}\n","/* ===== Radio & RadioGroup ===== */\n.gl-radio-group {\n display: flex;\n gap: var(--gl-space-3);\n}\n.gl-radio-group--vertical {\n flex-direction: column;\n}\n.gl-radio-group--horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--gl-space-5);\n}\n\n/* ---- Option row ---- */\n.gl-radio {\n --_radio-size: var(--gl-space-5);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gl-space-2);\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n color: var(--gl-text);\n cursor: pointer;\n user-select: none;\n}\n\n/* ---- Glass dot ---- */\n.gl-radio__dot {\n position: relative;\n display: grid;\n place-items: center;\n flex: 0 0 auto;\n width: var(--_radio-size);\n height: var(--_radio-size);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-full);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-inner-glow);\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease),\n border-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n\n/* Top-edge sheen — the highlight that sells the glass look */\n.gl-radio__dot::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* ---- Inner selected mark ---- */\n.gl-radio__mark {\n width: 50%;\n height: 50%;\n border-radius: var(--gl-radius-full);\n background: var(--gl-primary);\n transform: scale(0);\n opacity: 0;\n transition:\n transform var(--gl-dur) var(--gl-ease-spring),\n opacity var(--gl-dur-fast) var(--gl-ease);\n will-change: transform;\n}\n\n/* ---- Label text ---- */\n.gl-radio__label {\n display: inline-flex;\n align-items: center;\n}\n\n/* ---- Interaction ---- */\n.gl-radio:not(.gl-radio--disabled):hover .gl-radio__dot {\n background: var(--gl-bg-hover);\n border-color: var(--gl-border-strong);\n}\n.gl-radio:not(.gl-radio--disabled):active .gl-radio__dot {\n transform: scale(0.92);\n}\n\n/* ---- Selected ---- */\n.gl-radio--checked .gl-radio__dot {\n border-color: var(--gl-primary);\n background: var(--gl-primary-soft);\n}\n.gl-radio--checked .gl-radio__mark {\n transform: scale(1);\n opacity: 1;\n}\n\n/* ---- Focus ring on the dot (input is visually hidden) ---- */\n.gl-radio__input:focus-visible ~ .gl-radio__dot {\n outline: none;\n box-shadow: var(--gl-inner-glow), var(--gl-ring);\n}\n\n/* ---- Disabled ---- */\n.gl-radio--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n","/* ===== Select ===== */\n.gl-select {\n --_sel-h: var(--gl-control-h-md);\n --_sel-px: var(--gl-space-4);\n --_sel-fs: var(--gl-fs);\n --_sel-radius: var(--gl-radius);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n width: auto;\n max-width: 100%;\n font-family: var(--gl-font);\n vertical-align: middle;\n}\n\n.gl-select--block {\n display: flex;\n width: 100%;\n}\n\n/* ---- The native field, stripped of its OS chrome ---- */\n.gl-select__field {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n width: 100%;\n height: var(--_sel-h);\n margin: 0;\n /* extra right padding leaves room for the custom chevron */\n padding: 0 calc(var(--_sel-px) + 1.5em) 0 var(--_sel-px);\n font-family: inherit;\n font-size: var(--_sel-fs);\n font-weight: var(--gl-fw);\n line-height: 1;\n color: var(--gl-text-on-glass);\n cursor: pointer;\n border: 1px solid var(--gl-border);\n border-radius: var(--_sel-radius);\n background: var(--gl-bg-subtle);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-inner-glow);\n transition:\n border-color var(--gl-dur) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n}\n\n.gl-select__field:hover {\n background: var(--gl-bg);\n border-color: var(--gl-border-strong);\n}\n\n/* Kill the native focus outline — the wrapper renders the ring instead */\n.gl-select__field:focus {\n outline: none;\n}\n\n/* ---- Custom chevron ---- */\n.gl-select__chevron {\n position: absolute;\n top: 50%;\n right: var(--_sel-px);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--gl-text-muted);\n pointer-events: none;\n transform: translateY(-50%);\n transition:\n transform var(--gl-dur) var(--gl-ease),\n color var(--gl-dur) var(--gl-ease);\n}\n\n.gl-select__chevron svg {\n display: block;\n}\n\n/* ---- Focus-within ring on the wrapper ---- */\n.gl-select:focus-within .gl-select__field {\n border-color: var(--gl-border-strong);\n box-shadow: var(--gl-inner-glow), var(--gl-ring);\n}\n\n.gl-select:focus-within .gl-select__chevron {\n color: var(--gl-text);\n transform: translateY(-50%) scale(1.05);\n}\n\n/* ---- Sizes ---- */\n.gl-select--md {\n --_sel-h: var(--gl-control-h-md);\n --_sel-px: var(--gl-space-4);\n --_sel-fs: var(--gl-fs);\n --_sel-radius: var(--gl-radius);\n}\n\n.gl-select--sm {\n --_sel-h: var(--gl-control-h-sm);\n --_sel-px: var(--gl-space-3);\n --_sel-fs: var(--gl-fs-sm);\n --_sel-radius: var(--gl-radius-sm);\n}\n\n.gl-select--lg {\n --_sel-h: var(--gl-control-h-lg);\n --_sel-px: var(--gl-space-5);\n --_sel-fs: var(--gl-fs-lg);\n --_sel-radius: var(--gl-radius-lg);\n}\n\n/* ---- Error state ---- */\n.gl-select--error .gl-select__field {\n border-color: var(--gl-danger);\n}\n\n.gl-select--error.gl-select:focus-within .gl-select__field {\n border-color: var(--gl-danger);\n box-shadow: var(--gl-inner-glow), 0 0 0 3px var(--gl-danger-soft);\n}\n\n/* ---- Disabled state ---- */\n.gl-select--disabled {\n opacity: 0.5;\n}\n\n.gl-select__field:disabled {\n cursor: not-allowed;\n}\n","/* ===== Slider ===== */\n.gl-slider {\n /* Filled fraction as a percentage — set inline from the component and\n inherited by the input + its ::track / ::thumb pseudo-elements. */\n --gl-slider-fill: 0%;\n --_track-h: 6px;\n --_thumb: 20px;\n\n position: relative;\n display: inline-flex;\n align-items: center;\n width: 100%;\n min-width: 140px;\n height: var(--gl-control-h-md);\n font-family: var(--gl-font);\n}\n\n/* Reserve headroom so the persistent value bubble never clips its neighbour. */\n.gl-slider--show-value {\n margin-top: var(--gl-space-8);\n}\n\n/* ---- Native input reset ---- */\n.gl-slider__input {\n -webkit-appearance: none;\n appearance: none;\n width: 100%;\n height: var(--_thumb);\n margin: 0;\n padding: 0;\n background: transparent;\n cursor: pointer;\n border-radius: var(--gl-radius-full);\n}\n.gl-slider__input:focus {\n outline: none;\n}\n.gl-slider__input::-moz-focus-outer {\n border: 0;\n}\n\n/* ---- Track (WebKit/Blink) ---- */\n.gl-slider__input::-webkit-slider-runnable-track {\n box-sizing: border-box;\n height: var(--_track-h);\n border-radius: var(--gl-radius-full);\n background: linear-gradient(\n to right,\n var(--gl-primary),\n var(--gl-primary) var(--gl-slider-fill),\n var(--gl-bg-subtle) var(--gl-slider-fill),\n var(--gl-bg-subtle)\n );\n box-shadow: inset 0 0 0 1px var(--gl-border);\n}\n\n/* ---- Track (Firefox) ---- */\n.gl-slider__input::-moz-range-track {\n box-sizing: border-box;\n height: var(--_track-h);\n border-radius: var(--gl-radius-full);\n background: linear-gradient(\n to right,\n var(--gl-primary),\n var(--gl-primary) var(--gl-slider-fill),\n var(--gl-bg-subtle) var(--gl-slider-fill),\n var(--gl-bg-subtle)\n );\n box-shadow: inset 0 0 0 1px var(--gl-border);\n}\n\n/* ---- Thumb (WebKit/Blink) — glass circle ---- */\n.gl-slider__input::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n box-sizing: border-box;\n width: var(--_thumb);\n height: var(--_thumb);\n /* Centre the larger thumb over the thin track. */\n margin-top: calc((var(--_track-h) - var(--_thumb)) / 2);\n border: 1px solid var(--gl-border-strong);\n border-radius: var(--gl-radius-full);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n cursor: grab;\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n\n/* ---- Thumb (Firefox) — glass circle ---- */\n.gl-slider__input::-moz-range-thumb {\n box-sizing: border-box;\n width: var(--_thumb);\n height: var(--_thumb);\n border: 1px solid var(--gl-border-strong);\n border-radius: var(--gl-radius-full);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n cursor: grab;\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n\n/* ---- Hover / active thumb scale (GPU-only transform) ---- */\n.gl-slider__input:hover::-webkit-slider-thumb {\n transform: scale(1.12);\n}\n.gl-slider__input:active::-webkit-slider-thumb {\n transform: scale(1.04);\n cursor: grabbing;\n}\n.gl-slider__input:hover::-moz-range-thumb {\n transform: scale(1.12);\n}\n.gl-slider__input:active::-moz-range-thumb {\n transform: scale(1.04);\n cursor: grabbing;\n}\n\n/* ---- Keyboard focus ring on the thumb ---- */\n.gl-slider__input:focus-visible::-webkit-slider-thumb {\n box-shadow: var(--gl-shadow), var(--gl-inner-glow), var(--gl-ring);\n}\n.gl-slider__input:focus-visible::-moz-range-thumb {\n box-shadow: var(--gl-shadow), var(--gl-inner-glow), var(--gl-ring);\n}\n\n/* ---- Value bubble ---- */\n.gl-slider__value {\n position: absolute;\n left: var(--gl-slider-fill);\n bottom: 50%;\n margin-bottom: calc(var(--_thumb) / 2 + var(--gl-space-2));\n transform: translateX(-50%);\n min-width: 2ch;\n padding: var(--gl-space-1) var(--gl-space-2);\n font-size: var(--gl-fs-xs);\n font-weight: var(--gl-fw-bold);\n line-height: 1;\n text-align: center;\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-sm);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n pointer-events: none;\n white-space: nowrap;\n}\n\n/* ---- Disabled ---- */\n.gl-slider--disabled {\n opacity: 0.5;\n}\n.gl-slider--disabled .gl-slider__input,\n.gl-slider--disabled .gl-slider__input::-webkit-slider-thumb {\n cursor: not-allowed;\n}\n.gl-slider--disabled .gl-slider__input::-moz-range-thumb {\n cursor: not-allowed;\n}\n\n/* ---- Reduced motion: also quiet the pseudo-element transitions ---- */\n@media (prefers-reduced-motion: reduce) {\n .gl-slider__input::-webkit-slider-thumb {\n transition-duration: 0.01ms;\n }\n .gl-slider__input::-moz-range-thumb {\n transition-duration: 0.01ms;\n }\n}\n","/* ===== Spinner ===== */\n.gl-spinner {\n --_spinner-size: 1.5rem;\n --_spinner-bw: 2px;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_spinner-size);\n height: var(--_spinner-size);\n color: inherit;\n vertical-align: middle;\n flex: none;\n}\n\n/* The rotating ring — a full circle with a transparent top edge so the\n gap reads as motion once it spins. Only `transform` animates (GPU). */\n.gl-spinner__ring {\n width: 100%;\n height: 100%;\n border: var(--gl-spinner-bw, var(--_spinner-bw)) solid currentColor;\n border-top-color: transparent;\n border-radius: var(--gl-radius-full);\n opacity: 0.9;\n animation: gl-spin 0.7s linear infinite;\n will-change: transform;\n}\n\n/* ---- Sizes ---- */\n.gl-spinner--sm {\n --_spinner-size: 1rem;\n --_spinner-bw: 2px;\n}\n.gl-spinner--md {\n --_spinner-size: 1.5rem;\n --_spinner-bw: 2px;\n}\n.gl-spinner--lg {\n --_spinner-size: 2.25rem;\n --_spinner-bw: 3px;\n}\n.gl-spinner--xl {\n --_spinner-size: 3rem;\n --_spinner-bw: 4px;\n}\n","/* ===== Switch ===== */\n.gl-switch {\n /* Track/thumb geometry — sizes only override width, height & font. */\n --_sw-w: 44px;\n --_sw-h: 26px;\n --_sw-pad: 3px;\n --_sw-thumb: calc(var(--_sw-h) - var(--_sw-pad) * 2);\n --_sw-travel: calc(var(--_sw-w) - var(--_sw-thumb) - var(--_sw-pad) * 2);\n\n display: inline-flex;\n align-items: center;\n gap: var(--gl-space-3);\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n color: var(--gl-text);\n cursor: pointer;\n user-select: none;\n}\n\n/* ---- Sizes ---- */\n.gl-switch--sm {\n --_sw-w: 34px;\n --_sw-h: 20px;\n font-size: var(--gl-fs-sm);\n}\n.gl-switch--md {\n --_sw-w: 44px;\n --_sw-h: 26px;\n font-size: var(--gl-fs);\n}\n.gl-switch--lg {\n --_sw-w: 54px;\n --_sw-h: 32px;\n font-size: var(--gl-fs-lg);\n}\n\n/* ---- Track (glass surface) ---- */\n.gl-switch__track {\n position: relative;\n flex: none;\n width: var(--_sw-w);\n height: var(--_sw-h);\n border-radius: var(--gl-radius-full);\n background: var(--gl-bg-subtle);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n border: 1px solid var(--gl-border);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n transition:\n background-color var(--gl-dur) var(--gl-ease),\n border-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n}\n\n/* Top-edge sheen — the subtle highlight that sells the glass look */\n.gl-switch__track::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* ---- Thumb ---- */\n.gl-switch__thumb {\n position: absolute;\n top: var(--_sw-pad);\n left: var(--_sw-pad);\n width: var(--_sw-thumb);\n height: var(--_sw-thumb);\n border-radius: var(--gl-radius-full);\n background: var(--gl-primary-contrast);\n box-shadow: var(--gl-shadow);\n transform: translateX(0);\n transition: transform var(--gl-dur) var(--gl-ease-spring);\n will-change: transform;\n}\n\n/* ---- Hover ---- */\n.gl-switch:hover:not(.gl-switch--disabled) .gl-switch__track {\n background: var(--gl-bg-hover);\n}\n\n/* ---- Checked ---- */\n.gl-switch--checked .gl-switch__track {\n background: var(--gl-primary);\n border-color: color-mix(in srgb, var(--gl-primary) 70%, black 30%);\n}\n.gl-switch--checked:hover:not(.gl-switch--disabled) .gl-switch__track {\n background: var(--gl-primary-hover);\n}\n.gl-switch--checked .gl-switch__thumb {\n transform: translateX(var(--_sw-travel));\n}\n\n/* ---- Focus ring on the track (input is visually hidden) ---- */\n.gl-switch__input:focus-visible + .gl-switch__track {\n box-shadow: var(--gl-shadow), var(--gl-inner-glow), var(--gl-ring);\n}\n\n/* ---- Disabled ---- */\n.gl-switch--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* ---- Label ---- */\n.gl-switch__label {\n color: var(--gl-text);\n}\n","/* ===== Tabs ===== */\n.gl-tabs {\n display: flex;\n flex-direction: column;\n gap: var(--gl-space-4);\n font-family: var(--gl-font);\n color: var(--gl-text);\n}\n\n/* ---- Tab list (frosted glass pill) ---- */\n.gl-tabs__list {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--gl-space-1);\n align-self: flex-start;\n max-width: 100%;\n padding: var(--gl-space-1);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-full);\n background: var(--gl-bg);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n overflow-x: auto;\n scrollbar-width: none;\n}\n.gl-tabs__list::-webkit-scrollbar {\n display: none;\n}\n\n/* Top-edge sheen — the subtle highlight that sells the glass look */\n.gl-tabs__list::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* ---- Tab ---- */\n.gl-tabs__tab {\n position: relative;\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n gap: var(--gl-space-2);\n height: var(--gl-control-h-sm);\n padding: 0 var(--gl-space-4);\n font-family: inherit;\n font-size: var(--gl-fs-sm);\n font-weight: var(--gl-fw-bold);\n line-height: 1;\n white-space: nowrap;\n color: var(--gl-text-muted);\n background: transparent;\n border: 0;\n border-radius: var(--gl-radius-full);\n cursor: pointer;\n user-select: none;\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n color var(--gl-dur) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease);\n will-change: transform;\n}\n.gl-tabs__tab:hover {\n color: var(--gl-text);\n background: var(--gl-bg-subtle);\n}\n.gl-tabs__tab:active {\n transform: scale(0.97);\n}\n\n/* Active tab — glass fill highlight */\n.gl-tabs__tab--active {\n color: var(--gl-text-on-glass);\n background: var(--gl-bg-hover);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n}\n.gl-tabs__tab--active:hover {\n background: var(--gl-bg-active);\n}\n\n.gl-tabs__tab:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n}\n\n.gl-tabs__tab-label {\n display: inline-flex;\n align-items: center;\n}\n\n/* ---- Panel ---- */\n.gl-tabs__panel {\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n line-height: var(--gl-lh);\n color: var(--gl-text);\n outline: none;\n}\n.gl-tabs__panel:not([hidden]) {\n animation: gl-slide-up var(--gl-dur) var(--gl-ease);\n}\n.gl-tabs__panel:focus-visible {\n outline: none;\n border-radius: var(--gl-radius);\n box-shadow: var(--gl-ring);\n}\n","/* ===== Textarea ===== */\n.gl-textarea {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n min-width: 12rem;\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius);\n background: var(--gl-bg-subtle);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n color: var(--gl-text-on-glass);\n transition:\n border-color var(--gl-dur) var(--gl-ease),\n box-shadow var(--gl-dur) var(--gl-ease),\n background-color var(--gl-dur) var(--gl-ease);\n}\n\n/* Top-edge sheen — the subtle highlight that sells the glass look */\n.gl-textarea::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.6;\n pointer-events: none;\n}\n\n/* ---- Variants ---- */\n.gl-textarea--glass {\n background: var(--gl-bg);\n}\n.gl-textarea--subtle {\n background: var(--gl-bg-subtle);\n}\n\n/* ---- States ---- */\n.gl-textarea:focus-within {\n border-color: var(--gl-border-strong);\n box-shadow: var(--gl-ring), var(--gl-shadow), var(--gl-inner-glow);\n}\n\n.gl-textarea--error {\n border-color: var(--gl-danger);\n}\n.gl-textarea--error:focus-within {\n border-color: var(--gl-danger);\n box-shadow:\n 0 0 0 3px color-mix(in srgb, var(--gl-danger) 40%, transparent),\n var(--gl-shadow),\n var(--gl-inner-glow);\n}\n\n.gl-textarea--full {\n display: flex;\n width: 100%;\n}\n\n.gl-textarea--disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n/* ---- Field ---- */\n.gl-textarea__field {\n width: 100%;\n flex: 1 1 auto;\n min-height: calc(var(--gl-fs) * var(--gl-lh) * 3);\n margin: 0;\n padding: var(--gl-space-3) var(--gl-space-4);\n font-family: var(--gl-font);\n font-size: var(--gl-fs);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n color: inherit;\n background: transparent;\n border: 0;\n border-radius: inherit;\n outline: none;\n resize: vertical;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.gl-textarea__field::placeholder {\n color: var(--gl-text-faint);\n}\n\n.gl-textarea__field:disabled {\n cursor: not-allowed;\n}\n\n/* Auto-resize takes over height, so drop the manual handle and the scrollbar. */\n.gl-textarea--auto .gl-textarea__field {\n resize: none;\n overflow: hidden;\n}\n","/* ===== Toast ===== */\n\n/* ---- Viewport: fixed stack anchored to a screen corner ---- */\n.gl-toast-viewport {\n position: fixed;\n z-index: var(--gl-z-toast);\n display: flex;\n flex-direction: column;\n gap: var(--gl-space-3);\n width: min(24rem, calc(100vw - (var(--gl-space-5) * 2)));\n /* The stack itself is inert; only individual toasts capture pointer events,\n so the empty area of the viewport never blocks clicks underneath. */\n pointer-events: none;\n}\n\n/* Top corners: newest toast sits nearest the top edge and pushes older ones down. */\n.gl-toast-viewport--top-right {\n top: var(--gl-space-5);\n right: var(--gl-space-5);\n flex-direction: column-reverse;\n}\n.gl-toast-viewport--top-left {\n top: var(--gl-space-5);\n left: var(--gl-space-5);\n flex-direction: column-reverse;\n}\n/* Bottom corners: newest toast sits nearest the bottom edge. */\n.gl-toast-viewport--bottom-right {\n bottom: var(--gl-space-5);\n right: var(--gl-space-5);\n}\n.gl-toast-viewport--bottom-left {\n bottom: var(--gl-space-5);\n left: var(--gl-space-5);\n}\n\n/* ---- Toast card: frosted glass surface ---- */\n.gl-toast {\n /* Accent color for the leading bar (overridden per variant). */\n --_toast-accent: var(--gl-border-strong);\n\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: var(--gl-space-3);\n width: 100%;\n padding: var(--gl-space-4);\n overflow: hidden;\n pointer-events: auto;\n font-family: var(--gl-font);\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n animation: gl-toast-in var(--gl-dur) var(--gl-ease);\n will-change: transform, opacity;\n}\n\n/* Top-edge sheen — the subtle highlight that sells the glass look. */\n.gl-toast::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: 1px;\n background: linear-gradient(180deg, var(--gl-highlight), transparent 60%);\n -webkit-mask:\n linear-gradient(#000 0 0) content-box,\n linear-gradient(#000 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0.7;\n pointer-events: none;\n}\n\n/* Graceful fallback where backdrop-filter is unsupported: use a more opaque\n solid so the text stays readable. */\n@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {\n .gl-toast {\n background: rgba(255, 255, 255, 0.9);\n }\n [data-theme='dark'] .gl-toast,\n .gl-dark .gl-toast {\n background: rgba(28, 28, 36, 0.94);\n }\n}\n\n/* ---- Variant accents ---- */\n.gl-toast--glass {\n --_toast-accent: var(--gl-border-strong);\n}\n.gl-toast--success {\n --_toast-accent: var(--gl-success);\n}\n.gl-toast--danger {\n --_toast-accent: var(--gl-danger);\n}\n.gl-toast--warning {\n --_toast-accent: var(--gl-warning);\n}\n.gl-toast--info {\n --_toast-accent: var(--gl-info);\n}\n\n/* ---- Sub-elements ---- */\n.gl-toast__accent {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 4px;\n background: var(--_toast-accent);\n pointer-events: none;\n}\n\n.gl-toast__body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--gl-space-1);\n min-width: 0;\n padding-left: var(--gl-space-1);\n}\n\n.gl-toast__title {\n font-size: var(--gl-fs);\n font-weight: var(--gl-fw-bold);\n line-height: var(--gl-lh);\n color: var(--gl-text);\n}\n\n.gl-toast__description {\n font-size: var(--gl-fs-sm);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n color: var(--gl-text-muted);\n overflow-wrap: anywhere;\n}\n\n.gl-toast__close {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n margin: -2px -2px 0 0;\n padding: 0;\n color: var(--gl-text-muted);\n background: transparent;\n border: 0;\n border-radius: var(--gl-radius-sm);\n cursor: pointer;\n transition:\n transform var(--gl-dur-fast) var(--gl-ease),\n color var(--gl-dur-fast) var(--gl-ease),\n background-color var(--gl-dur-fast) var(--gl-ease);\n}\n.gl-toast__close:hover {\n color: var(--gl-text);\n background: var(--gl-bg-subtle);\n}\n.gl-toast__close:active {\n transform: scale(0.92);\n}\n\n.gl-toast__close-icon {\n width: 16px;\n height: 16px;\n}\n","/* ===== Tooltip ===== */\n.gl-tooltip-wrap {\n position: relative;\n display: inline-flex;\n}\n\n.gl-tooltip {\n position: absolute;\n z-index: var(--gl-z-tooltip);\n max-width: 240px;\n width: max-content;\n padding: var(--gl-space-2) var(--gl-space-3);\n font-family: var(--gl-font);\n font-size: var(--gl-fs-sm);\n font-weight: var(--gl-fw);\n line-height: var(--gl-lh);\n text-align: center;\n color: var(--gl-text-on-glass);\n background: var(--gl-bg);\n border: 1px solid var(--gl-border);\n border-radius: var(--gl-radius-sm);\n box-shadow: var(--gl-shadow), var(--gl-inner-glow);\n -webkit-backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n backdrop-filter: blur(var(--gl-blur)) saturate(var(--gl-saturate));\n pointer-events: none;\n animation-duration: var(--gl-dur);\n animation-timing-function: var(--gl-ease);\n animation-fill-mode: both;\n will-change: transform, opacity;\n}\n\n/* ---- Placements ----\n Each placement keeps a static centering transform and folds a fade+scale-in\n into its own keyframe so only transform & opacity animate (GPU compositor). */\n.gl-tooltip--top {\n bottom: calc(100% + var(--gl-space-2));\n left: 50%;\n transform: translateX(-50%) scale(1);\n transform-origin: bottom center;\n animation-name: gl-tooltip-in-x;\n}\n.gl-tooltip--bottom {\n top: calc(100% + var(--gl-space-2));\n left: 50%;\n transform: translateX(-50%) scale(1);\n transform-origin: top center;\n animation-name: gl-tooltip-in-x;\n}\n.gl-tooltip--left {\n right: calc(100% + var(--gl-space-2));\n top: 50%;\n transform: translateY(-50%) scale(1);\n transform-origin: center right;\n animation-name: gl-tooltip-in-y;\n}\n.gl-tooltip--right {\n left: calc(100% + var(--gl-space-2));\n top: 50%;\n transform: translateY(-50%) scale(1);\n transform-origin: center left;\n animation-name: gl-tooltip-in-y;\n}\n\n@keyframes gl-tooltip-in-x {\n from {\n opacity: 0;\n transform: translateX(-50%) scale(0.94);\n }\n to {\n opacity: 1;\n transform: translateX(-50%) scale(1);\n }\n}\n@keyframes gl-tooltip-in-y {\n from {\n opacity: 0;\n transform: translateY(-50%) scale(0.94);\n }\n to {\n opacity: 1;\n transform: translateY(-50%) scale(1);\n }\n}\n\n/* Graceful fallback where backdrop-filter is unsupported. */\n@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {\n .gl-tooltip {\n background: rgba(255, 255, 255, 0.9);\n }\n [data-theme='dark'] .gl-tooltip,\n .gl-dark .gl-tooltip {\n background: rgba(28, 28, 36, 0.94);\n }\n}\n"],"mappings":"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","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "glasswind",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Glasswind — a glassmorphism React component library. Beautiful frosted-glass UI components with smooth, GPU-accelerated animations for React & Next.js.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"glasswind",
|
|
7
|
+
"react",
|
|
8
|
+
"ui",
|
|
9
|
+
"components",
|
|
10
|
+
"glassmorphism",
|
|
11
|
+
"glass",
|
|
12
|
+
"glass-ui",
|
|
13
|
+
"design-system",
|
|
14
|
+
"nextjs",
|
|
15
|
+
"frosted-glass",
|
|
16
|
+
"component-library",
|
|
17
|
+
"tailwind-alternative"
|
|
18
|
+
],
|
|
19
|
+
"author": "",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"homepage": "https://github.com/your-username/glasswind#readme",
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/your-username/glasswind.git"
|
|
25
|
+
},
|
|
26
|
+
"bugs": {
|
|
27
|
+
"url": "https://github.com/your-username/glasswind/issues"
|
|
28
|
+
},
|
|
29
|
+
"type": "module",
|
|
30
|
+
"main": "./dist/index.cjs",
|
|
31
|
+
"module": "./dist/index.js",
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"style": "./dist/styles.css",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/index.d.ts",
|
|
37
|
+
"import": "./dist/index.js",
|
|
38
|
+
"require": "./dist/index.cjs"
|
|
39
|
+
},
|
|
40
|
+
"./styles.css": "./dist/styles.css"
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist",
|
|
44
|
+
"README.md",
|
|
45
|
+
"LICENSE"
|
|
46
|
+
],
|
|
47
|
+
"sideEffects": [
|
|
48
|
+
"**/*.css"
|
|
49
|
+
],
|
|
50
|
+
"scripts": {
|
|
51
|
+
"dev": "vite",
|
|
52
|
+
"build": "tsup",
|
|
53
|
+
"typecheck": "tsc --noEmit",
|
|
54
|
+
"clean": "rimraf dist",
|
|
55
|
+
"prepublishOnly": "npm run build"
|
|
56
|
+
},
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"react": ">=17.0.0",
|
|
59
|
+
"react-dom": ">=17.0.0"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@types/react": "^18.3.12",
|
|
63
|
+
"@types/react-dom": "^18.3.1",
|
|
64
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
65
|
+
"react": "^18.3.1",
|
|
66
|
+
"react-dom": "^18.3.1",
|
|
67
|
+
"rimraf": "^6.0.1",
|
|
68
|
+
"tsup": "^8.3.5",
|
|
69
|
+
"typescript": "^5.6.3",
|
|
70
|
+
"vite": "^5.4.11"
|
|
71
|
+
},
|
|
72
|
+
"engines": {
|
|
73
|
+
"node": ">=18"
|
|
74
|
+
}
|
|
75
|
+
}
|