{
  "name": "stepkit-glass-dock",
  "type": "registry:component",
  "title": "Glass dock",
  "description": "A glass navigation dock over an original saturated landscape with selected and magnified destinations.",
  "author": "Vladislav Stepanov",
  "dependencies": [
    "react@19.3.0",
    "react-dom@19.3.0"
  ],
  "files": [
    {
      "path": "components/stepkit/GlassDock.tsx",
      "content": "/*\n * Stepkit 0.3.0\n * Copyright (c) 2026 Vladislav Stepanov\n *\n * Original Stepkit portions in this release are licensed under the MIT License. Adapted portions identify their upstream licence and attribution in the copied source and in the entry-specific upstream notice files.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\n\"use client\";\n\nimport { useState, type ReactNode } from \"react\";\nimport \"./styles.css\";\nimport \"./showcase.css\";\n\nexport type GlassDockIcon = \"grid\" | \"spark\" | \"layers\" | \"chart\" | \"user\";\nexport interface GlassDockItem { id: string; label: string; icon?: GlassDockIcon; badge?: boolean; }\nexport interface GlassDockProps {\n  items?: GlassDockItem[];\n  selectedId?: string;\n  defaultSelectedId?: string;\n  onSelect?: (item: GlassDockItem) => void;\n  headline?: string;\n  description?: string;\n  paused?: boolean;\n  children?: ReactNode;\n  className?: string;\n}\n\nconst defaultItems: GlassDockItem[] = [\n  { id: \"canvas\", label: \"Canvas\", icon: \"grid\" },\n  { id: \"spark\", label: \"Spark\", icon: \"spark\", badge: true },\n  { id: \"layers\", label: \"Layers\", icon: \"layers\" },\n  { id: \"analytics\", label: \"Analytics\", icon: \"chart\" },\n  { id: \"profile\", label: \"Profile\", icon: \"user\" }\n];\n\nfunction DockIcon({ icon = \"grid\" }: { icon?: GlassDockIcon }) {\n  if (icon === \"spark\") return <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"m12 2 1.8 6.2L20 10l-6.2 1.8L12 18l-1.8-6.2L4 10l6.2-1.8L12 2Zm7 13 .7 2.3L22 18l-2.3.7L19 21l-.7-2.3L16 18l2.3-.7L19 15Z\" fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"1.6\" /></svg>;\n  if (icon === \"layers\") return <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"m12 3 8 4-8 4-8-4 8-4Zm-8 9 8 4 8-4M4 17l8 4 8-4\" fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"1.7\" /></svg>;\n  if (icon === \"chart\") return <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 19V5m0 14h16M8 15l3-4 3 2 4-6\" fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"1.7\" /></svg>;\n  if (icon === \"user\") return <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"8\" fill=\"none\" r=\"3.5\" stroke=\"currentColor\" strokeWidth=\"1.7\" /><path d=\"M5 20c.8-3.5 3.2-5.2 7-5.2s6.2 1.7 7 5.2\" fill=\"none\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.7\" /></svg>;\n  return <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect fill=\"none\" height=\"6\" rx=\"1\" stroke=\"currentColor\" strokeWidth=\"1.7\" width=\"6\" x=\"3\" y=\"3\" /><rect fill=\"none\" height=\"6\" rx=\"1\" stroke=\"currentColor\" strokeWidth=\"1.7\" width=\"6\" x=\"15\" y=\"3\" /><rect fill=\"none\" height=\"6\" rx=\"1\" stroke=\"currentColor\" strokeWidth=\"1.7\" width=\"6\" x=\"3\" y=\"15\" /><rect fill=\"none\" height=\"6\" rx=\"1\" stroke=\"currentColor\" strokeWidth=\"1.7\" width=\"6\" x=\"15\" y=\"15\" /></svg>;\n}\n\nexport function GlassDock({ items = defaultItems, selectedId, defaultSelectedId = items[0]?.id, onSelect, headline = \"Find your flow.\", description = \"A tactile navigation surface with a little atmosphere built in.\", paused = false, children, className = \"\" }: GlassDockProps) {\n  const [internalSelected, setInternalSelected] = useState(defaultSelectedId);\n  const activeId = selectedId ?? internalSelected;\n  const activeItem = items.find((item) => item.id === activeId) ?? items[0];\n  const select = (item: GlassDockItem) => { if (selectedId === undefined) setInternalSelected(item.id); onSelect?.(item); };\n  return (\n    <section className={`stepkit stepkit-showcase stepkit-glass-dock${className ? ` ${className}` : \"\"}`} data-paused={paused} aria-label=\"Glass dock navigation showcase\">\n      <div className=\"stepkit-glass-dock__landscape\" aria-hidden=\"true\"><span className=\"stepkit-glass-dock__sun\" /></div>\n      <div className=\"stepkit-glass-dock__copy\"><span className=\"stepkit-glass-dock__eyebrow\">Navigation / glass dock</span><h2 className=\"stepkit-glass-dock__title\">{headline}</h2><p className=\"stepkit-glass-dock__description\">{description}</p>{children}</div>\n      <span className=\"stepkit-glass-dock__selection\" aria-live=\"polite\">Selected: {activeItem?.label ?? \"None\"}</span>\n      <nav className=\"stepkit-glass-dock__dock\" aria-label=\"Dock destinations\">{items.slice(0, 5).map((item) => <button className=\"stepkit-glass-dock__item\" data-paused={paused} aria-label={item.label} aria-pressed={activeId === item.id} type=\"button\" key={item.id} onClick={() => select(item)}><DockIcon icon={item.icon} />{item.badge ? <span aria-label=\"New\" /> : null}</button>)}</nav>\n    </section>\n  );\n}\n\nexport default GlassDock;\n",
      "type": "registry:component",
      "target": "components/stepkit/GlassDock.tsx"
    },
    {
      "path": "components/stepkit/showcase.css",
      "content": "/*\n * Stepkit 0.3.0\n * Copyright (c) 2026 Vladislav Stepanov\n *\n * Original Stepkit portions in this release are licensed under the MIT License. Adapted portions identify their upstream licence and attribution in the copied source and in the entry-specific upstream notice files.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\n/* Original showcase surfaces for Stepkit 0.3. These styles stay local to the\n   six expressive exports and inherit the consumer's Stepkit theme where useful. */\n.stepkit-showcase,\n.stepkit-showcase * { box-sizing: border-box; }\n\n.stepkit-scroll-showcase {\n  background: var(--stepkit-surface, #f7f7f4);\n  color: var(--stepkit-fg, #111214);\n  min-height: 760px;\n  overflow: hidden;\n  padding: clamp(34px, 6vw, 78px);\n  position: relative;\n}\n.stepkit-scroll-showcase::before { background: linear-gradient(90deg, rgba(17,18,20,.08) 1px, transparent 1px); background-size: 72px 100%; content: \"\"; inset: 0; opacity: .23; pointer-events: none; position: absolute; }\n.stepkit-scroll-showcase__header { margin: 0 auto; max-width: 1120px; position: relative; z-index: 1; }\n.stepkit-scroll-showcase__kicker { color: #6d7074; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }\n.stepkit-scroll-showcase__title { font-size: clamp(44px, 7vw, 92px); font-weight: 500; letter-spacing: -.06em; line-height: .94; margin: 14px 0 0; max-width: 9ch; }\n.stepkit-scroll-showcase__description { color: var(--stepkit-muted, #676a70); font-size: clamp(16px, 1.6vw, 20px); line-height: 1.45; margin: 22px 0 0; max-width: 38ch; }\n.stepkit-scroll-showcase__viewport { display: grid; margin: 56px auto 0; max-width: 1180px; min-height: 470px; perspective: 1500px; place-items: center; position: relative; z-index: 1; }\n.stepkit-scroll-showcase__laptop { aspect-ratio: 16 / 10; background: #25272b; border: 9px solid #151619; border-radius: 24px 24px 12px 12px; box-shadow: 0 42px 70px rgba(17,18,20,.24), 0 4px 0 #73757a inset; max-width: 960px; overflow: hidden; position: relative; transform: perspective(1500px) rotateX(13deg) rotateY(-8deg) scale(.88); transform-origin: center 72%; transition: transform 480ms cubic-bezier(.2,.8,.2,1), box-shadow 480ms ease; width: min(100%, 930px); will-change: transform; }\n.stepkit-scroll-showcase__laptop::before { background: #121317; border-radius: 50%; content: \"\"; height: 5px; left: 50%; position: absolute; top: -5px; transform: translateX(-50%); width: 5px; z-index: 3; }\n.stepkit-scroll-showcase__laptop::after { background: linear-gradient(90deg, #85878c, #484b50 45%, #85878c); border-radius: 0 0 30px 30px; bottom: -18px; content: \"\"; height: 20px; left: 10%; position: absolute; width: 80%; z-index: 3; }\n.stepkit-scroll-showcase[data-paused=\"true\"] .stepkit-scroll-showcase__laptop { transition: none; }\n.stepkit-scroll-showcase__screen { background: #101216; border: 1px solid #454951; border-radius: 12px 12px 5px 5px; inset: 0; overflow: hidden; position: absolute; }\n.stepkit-scroll-showcase__toolbar { align-items: center; background: #1a1c21; border-bottom: 1px solid #343840; display: flex; gap: 10px; height: 40px; padding: 0 17px; }\n.stepkit-scroll-showcase__traffic { display: flex; gap: 5px; }\n.stepkit-scroll-showcase__traffic i { background: #777b83; border-radius: 50%; display: block; height: 6px; width: 6px; }\n.stepkit-scroll-showcase__toolbar strong { color: #e7e8e9; font-size: 11px; font-weight: 650; letter-spacing: -.01em; }\n.stepkit-scroll-showcase__toolbar span { color: #777b83; font-size: 10px; margin-left: auto; }\n.stepkit-scroll-showcase__dashboard { display: grid; grid-template-columns: 160px minmax(0, 1fr); height: calc(100% - 40px); }\n.stepkit-scroll-showcase__nav { background: #16181d; border-right: 1px solid #30343b; display: flex; flex-direction: column; gap: 18px; padding: 22px 14px; }\n.stepkit-scroll-showcase__nav-brand { color: #fff; font-size: 14px; font-weight: 800; letter-spacing: -.05em; }\n.stepkit-scroll-showcase__nav small { color: #6f747d; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }\n.stepkit-scroll-showcase__nav ul { display: grid; gap: 4px; list-style: none; margin: 0; padding: 0; }\n.stepkit-scroll-showcase__nav li { color: #8e949d; font-size: 10px; padding: 8px 9px; }\n.stepkit-scroll-showcase__nav li[data-active=\"true\"] { background: #2e333d; border-radius: 5px; color: #fff; }\n.stepkit-scroll-showcase__nav-footer { color: #6f747d; font-size: 9px; margin-top: auto; }\n.stepkit-scroll-showcase__workspace { min-width: 0; padding: 24px 28px 26px; }\n.stepkit-scroll-showcase__workspace-head { align-items: flex-start; display: flex; justify-content: space-between; }\n.stepkit-scroll-showcase__workspace-head h2 { color: #f3f4f5; font-size: 19px; letter-spacing: -.05em; margin: 0; }\n.stepkit-scroll-showcase__workspace-head p { color: #858b95; font-size: 10px; margin: 5px 0 0; }\n.stepkit-scroll-showcase__workspace-actions { display: flex; gap: 7px; }\n.stepkit-scroll-showcase__workspace-actions button { background: #252931; border: 1px solid #3b414b; border-radius: 5px; color: #dfe2e7; font-size: 10px; min-height: 30px; padding: 6px 10px; }\n.stepkit-scroll-showcase__chart { background: #171a20; border: 1px solid #30353e; border-radius: 7px; margin-top: 24px; padding: 15px 17px 9px; }\n.stepkit-scroll-showcase__chart-head { align-items: center; display: flex; justify-content: space-between; }\n.stepkit-scroll-showcase__chart-head strong { color: #f0f2f4; font-size: 11px; }\n.stepkit-scroll-showcase__chart-head span { color: #77d8af; font-size: 10px; }\n.stepkit-scroll-showcase__chart svg { display: block; height: 105px; margin-top: 8px; width: 100%; }\n.stepkit-scroll-showcase__rows { display: grid; gap: 7px; margin-top: 16px; }\n.stepkit-scroll-showcase__row { align-items: center; background: #171a20; border: 1px solid #30353e; border-radius: 7px; color: inherit; cursor: pointer; display: grid; font: inherit; gap: 12px; grid-template-columns: minmax(100px, 1.4fr) 70px 80px; padding: 10px 12px; text-align: left; }\n.stepkit-scroll-showcase__row[data-active=\"true\"] { border-color: var(--stepkit-accent, #78d9b1); }\n.stepkit-scroll-showcase__row strong { color: #e5e7e9; font-size: 10px; font-weight: 650; }\n.stepkit-scroll-showcase__row span { color: #858b95; font-size: 9px; }\n.stepkit-scroll-showcase__status { background: #214b3f; border-radius: 999px; color: #8cebc5 !important; justify-self: end; padding: 4px 7px; }\n\n.stepkit-glass-dock {\n  background: #07171c;\n  border-radius: 24px;\n  color: #fff;\n  min-height: 620px;\n  overflow: hidden;\n  position: relative;\n}\n.stepkit-glass-dock__landscape { background: radial-gradient(ellipse at 10% 85%, #ee7a45 0 12%, transparent 37%), radial-gradient(ellipse at 89% 22%, #79d7cb 0 12%, transparent 42%), radial-gradient(ellipse at 58% 72%, #1d8cc2 0 22%, transparent 50%), linear-gradient(145deg, #0b1d29 12%, #155e75 45%, #f0a35f 100%); inset: 0; position: absolute; }\n.stepkit-glass-dock__landscape::before { background: linear-gradient(160deg, transparent 37%, rgba(255,255,255,.28) 38%, transparent 40%), linear-gradient(10deg, transparent 42%, rgba(255,255,255,.13) 43%, transparent 46%); content: \"\"; inset: 0; opacity: .35; position: absolute; }\n.stepkit-glass-dock__sun { background: #ffd18f; border-radius: 50%; box-shadow: 0 0 90px 24px rgba(255,209,143,.34); height: 110px; position: absolute; right: 16%; top: 12%; width: 110px; }\n.stepkit-glass-dock__copy { left: clamp(26px, 7vw, 82px); max-width: 430px; position: absolute; top: clamp(30px, 8vw, 90px); z-index: 1; }\n.stepkit-glass-dock__eyebrow { color: rgba(255,255,255,.68); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }\n.stepkit-glass-dock__title { font-size: clamp(38px, 7vw, 78px); font-weight: 560; letter-spacing: -.05em; line-height: .92; margin: 14px 0 0; max-width: 7ch; }\n.stepkit-glass-dock__description { color: rgba(255,255,255,.74); font-size: 15px; line-height: 1.45; margin: 22px 0 0; max-width: 32ch; }\n.stepkit-glass-dock__dock { align-items: center; backdrop-filter: blur(22px) saturate(140%); background: linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.11)); border: 1px solid rgba(255,255,255,.34); border-radius: 22px; bottom: 36px; box-shadow: 0 18px 45px rgba(0,0,0,.25), 0 1px 0 rgba(255,255,255,.45) inset; display: flex; gap: 10px; left: 50%; padding: 10px; position: absolute; transform: translateX(-50%); z-index: 2; }\n.stepkit-glass-dock__dock::after { background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent); content: \"\"; height: 1px; left: 12%; position: absolute; top: 1px; width: 76%; }\n.stepkit-glass-dock__item { align-items: center; background: rgba(255,255,255,.14); border: 1px solid transparent; border-radius: 15px; color: rgba(255,255,255,.8); display: inline-flex; height: 56px; justify-content: center; position: relative; transition: color 160ms ease, transform 180ms cubic-bezier(.2,.8,.2,1), background-color 160ms ease, border-color 160ms ease; width: 56px; }\n.stepkit-glass-dock__item:hover, .stepkit-glass-dock__item:focus-visible { background: rgba(255,255,255,.31); color: #fff; transform: translateY(-9px) scale(1.16); }\n.stepkit-glass-dock__item[aria-pressed=\"true\"] { background: rgba(255,255,255,.38); border-color: rgba(255,255,255,.6); color: #fff; }\n.stepkit-glass-dock__item[data-paused=\"true\"]:hover, .stepkit-glass-dock__item[data-paused=\"true\"]:focus-visible { transform: none; }\n.stepkit-glass-dock__item svg { height: 21px; width: 21px; }\n.stepkit-glass-dock__item span { background: #ff8058; border: 2px solid rgba(37,76,77,.55); border-radius: 999px; bottom: -3px; height: 10px; position: absolute; right: -2px; width: 10px; }\n.stepkit-glass-dock__selection { bottom: 111px; color: rgba(255,255,255,.72); font-size: 11px; left: 50%; position: absolute; transform: translateX(-50%); z-index: 1; }\n\n.stepkit-ai-composer { background: #070808; border: 1px solid #232525; border-radius: 24px; color: #f7f7f3; min-height: 620px; overflow: hidden; padding: clamp(28px, 7vw, 78px); position: relative; }\n.stepkit-ai-composer::before { background: radial-gradient(circle at 82% 5%, rgba(230,244,211,.15), transparent 28%), radial-gradient(circle at 10% 100%, rgba(92,124,112,.15), transparent 34%); content: \"\"; inset: 0; pointer-events: none; position: absolute; }\n.stepkit-ai-composer__inner { margin: 0 auto; max-width: 900px; position: relative; z-index: 1; }\n.stepkit-ai-composer__eyebrow { color: #9ba39e; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }\n.stepkit-ai-composer__title { font-size: clamp(38px, 7vw, 76px); font-weight: 520; letter-spacing: -.05em; line-height: .94; margin: 13px 0 0; max-width: 8ch; }\n.stepkit-ai-composer__description { color: #9fa4a0; font-size: 16px; line-height: 1.45; margin: 22px 0 0; max-width: 39ch; }\n.stepkit-ai-composer__panel { background: #111313; border: 1px solid #2d302f; border-radius: 17px; box-shadow: 0 22px 60px rgba(0,0,0,.3), 0 1px 0 rgba(255,255,255,.07) inset; margin-top: 44px; padding: 13px; }\n.stepkit-ai-composer__panel-head { align-items: center; display: flex; gap: 10px; padding: 4px 6px 11px; }\n.stepkit-ai-composer__model { background: #1d201f; border: 1px solid #353936; border-radius: 8px; color: #dfe5de; font-size: 12px; min-height: 34px; padding: 5px 29px 5px 10px; }\n.stepkit-ai-composer__panel-head small { color: #818984; font-size: 11px; margin-left: auto; }\n.stepkit-ai-composer__textarea { background: #0b0d0d; border: 1px solid #292d2b; border-radius: 11px; color: #f2f5f0; font: inherit; font-size: 15px; line-height: 1.5; min-height: 136px; padding: 15px; resize: vertical; width: 100%; }\n.stepkit-ai-composer__textarea::placeholder { color: #6f7771; }\n.stepkit-ai-composer__attachments { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }\n.stepkit-ai-composer__attachment { align-items: center; background: #1b2b25; border: 1px solid #345342; border-radius: 7px; color: #b9dec7; display: inline-flex; font-size: 11px; gap: 5px; padding: 6px 8px; }\n.stepkit-ai-composer__attachment button { background: transparent; border: 0; color: inherit; cursor: pointer; font-size: 16px; line-height: 1; padding: 0 0 0 3px; }\n.stepkit-ai-composer__panel-foot { align-items: center; display: flex; gap: 9px; justify-content: space-between; margin-top: 11px; }\n.stepkit-ai-composer__chips { display: flex; flex-wrap: wrap; gap: 6px; }\n.stepkit-ai-composer__chip { background: transparent; border: 1px solid #3a403c; border-radius: 999px; color: #abb5ac; font-size: 11px; min-height: 32px; padding: 6px 10px; }\n.stepkit-ai-composer__chip:hover, .stepkit-ai-composer__chip:focus-visible { border-color: #b9dec7; color: #e5f4e5; }\n.stepkit-ai-composer__send { align-items: center; background: var(--stepkit-accent-soft, #e8f6df); border: 0; border-radius: 10px; color: var(--stepkit-accent-on-soft, #16231c); display: inline-flex; font-size: 12px; font-weight: 800; gap: 7px; min-height: 40px; padding: 9px 13px; }\n.stepkit-ai-composer__send:hover:not(:disabled) { background: color-mix(in srgb, var(--stepkit-accent-soft, #e8f6df) 75%, var(--stepkit-accent, #50b983)); }\n.stepkit-ai-composer__send:disabled { cursor: not-allowed; opacity: .48; }\n.stepkit-ai-composer__send svg { height: 16px; width: 16px; }\n.stepkit-ai-composer__sent { color: #a8e2b9; font-size: 12px; margin: 10px 5px 0; }\n.stepkit-ai-composer__file { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }\n.stepkit-ai-composer__attach { align-items: center; border: 1px solid #3a403c; border-radius: 9px; color: #b5c0b7; cursor: pointer; display: inline-flex; font-size: 11px; min-height: 34px; padding: 7px 10px; }\n.stepkit-ai-composer__attach:focus-within { border-color: #d8ead6; box-shadow: 0 0 0 3px rgba(216,234,214,.18); color: #edf7e9; }\n.stepkit-ai-composer__attach:hover { border-color: #a9c6ae; color: #edf7e9; }\n\n.stepkit-mesh-gradient { --stepkit-mesh-a: #ff5c78; --stepkit-mesh-b: #ffb347; --stepkit-mesh-c: #50dbc2; --stepkit-mesh-d: #5751ff; background: #101026; border-radius: 24px; color: #fff; min-height: 620px; overflow: hidden; position: relative; }\n.stepkit-mesh-gradient[data-mode=\"light\"] { color: #151529; }\n.stepkit-mesh-gradient__field { background: radial-gradient(ellipse at 22% 28%, var(--stepkit-mesh-a) 0, transparent 44%), radial-gradient(ellipse at 83% 23%, var(--stepkit-mesh-b) 0, transparent 42%), radial-gradient(ellipse at 72% 80%, var(--stepkit-mesh-c) 0, transparent 45%), radial-gradient(ellipse at 16% 86%, var(--stepkit-mesh-d) 0, transparent 52%), #20204d; filter: saturate(1.2); inset: -14%; position: absolute; transform: scale(1.14); }\n.stepkit-mesh-gradient[data-playing=\"true\"] .stepkit-mesh-gradient__field { animation: stepkit-mesh-drift 16s ease-in-out infinite alternate; }\n.stepkit-mesh-gradient__grain { height: 100%; inset: 0; opacity: .14; pointer-events: none; position: absolute; width: 100%; }\n.stepkit-mesh-gradient__veil { background: linear-gradient(120deg, rgba(8,8,25,.48), transparent 55%, rgba(8,8,25,.23)); inset: 0; pointer-events: none; position: absolute; }\n.stepkit-mesh-gradient[data-mode=\"light\"] .stepkit-mesh-gradient__veil { background: linear-gradient(120deg, rgba(255,255,255,.24), transparent 55%, rgba(255,255,255,.1)); }\n.stepkit-mesh-gradient__content { align-items: flex-start; display: flex; flex-direction: column; inset: 0; justify-content: space-between; padding: clamp(32px, 7vw, 78px); position: absolute; }\n.stepkit-mesh-gradient__eyebrow { font-size: 11px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }\n.stepkit-mesh-gradient__title { font-size: clamp(44px, 8vw, 94px); font-weight: 550; letter-spacing: -.06em; line-height: .9; margin: 12px 0 0; max-width: 8ch; }\n.stepkit-mesh-gradient__body { font-size: 15px; line-height: 1.45; margin: 22px 0 0; max-width: 35ch; opacity: .82; }\n.stepkit-mesh-gradient__content > div:last-child { max-width: 460px; }\n.stepkit-mesh-gradient__toggle { align-items: center; backdrop-filter: blur(8px); background: rgba(12,15,46,.26); border: 1px solid rgba(255,255,255,.48); border-radius: 999px; color: inherit; display: inline-flex; font-size: 12px; gap: 8px; margin-top: 32px; min-height: 42px; padding: 8px 13px; }\n.stepkit-mesh-gradient[data-mode=\"light\"] .stepkit-mesh-gradient__toggle { background: rgba(255,255,255,.32); border-color: rgba(21,21,41,.32); }\n.stepkit-mesh-gradient__toggle svg { height: 14px; width: 14px; }\n\n.stepkit-card-stack { background: #eee9dc; color: #24252a; min-height: 650px; overflow: hidden; padding: clamp(28px, 7vw, 76px); position: relative; }\n.stepkit-card-stack__header { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin: 0 auto; max-width: 1050px; position: relative; z-index: 2; }\n.stepkit-card-stack__eyebrow { color: #62636a; font-size: 11px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }\n.stepkit-card-stack__title { font-size: clamp(34px, 6vw, 70px); font-weight: 550; letter-spacing: -.06em; line-height: .93; margin: 12px 0 0; max-width: 8ch; }\n.stepkit-card-stack__counter { align-items: center; display: flex; flex-direction: column; font-variant-numeric: tabular-nums; gap: 4px; }\n.stepkit-card-stack__counter strong { font-size: 19px; }\n.stepkit-card-stack__counter span { color: #89867f; font-size: 11px; }\n.stepkit-card-stack__stage { height: auto; margin: 55px auto 0; max-width: 1050px; min-height: 390px; padding-bottom: 56px; position: relative; }\n.stepkit-card-stack__controls { display: flex; gap: 7px; justify-content: flex-end; margin: 16px auto 0; max-width: 1050px; position: relative; z-index: 4; }\n.stepkit-card-stack__card { background: #fbfaf4; border: 1px solid #cbc6b7; border-radius: 18px; box-shadow: 0 25px 55px rgba(54,48,34,.17); display: flex; flex-direction: column; inset: 0 auto auto 50%; max-width: 720px; min-height: 390px; overflow: hidden; padding: 29px; position: absolute; transform-origin: 50% 100%; transition: opacity 360ms ease, transform 440ms cubic-bezier(.2,.8,.2,1), z-index 0ms linear 440ms; width: min(100%, 720px); }\n.stepkit-card-stack__card[data-stack-layer=\"0\"] { opacity: 1; transform: translateX(-50%) rotate(-1deg) translateY(0) scale(1); z-index: 3; }\n.stepkit-card-stack__card[data-stack-layer=\"1\"] { opacity: .88; transform: translateX(-47%) rotate(5deg) translateY(20px) scale(.94); z-index: 2; }\n.stepkit-card-stack__card[data-stack-layer=\"2\"] { opacity: .65; transform: translateX(-43%) rotate(10deg) translateY(42px) scale(.88); z-index: 1; }\n.stepkit-card-stack__card[data-stack-layer=\"hidden\"] { opacity: 0; pointer-events: none; transform: translateX(-38%) rotate(14deg) translateY(60px) scale(.8); z-index: 0; }\n.stepkit-card-stack__card[data-stack-layer=\"0\"] { inset: auto; margin: 0 auto; position: relative; transform: rotate(-1deg); }\n.stepkit-card-stack[data-paused=\"true\"] .stepkit-card-stack__card { transition: none; }\n.stepkit-card-stack__cover { align-items: center; background: #22252d; border-radius: 11px; display: flex; flex: 1 1 auto; min-height: 215px; overflow: hidden; padding: 20px; position: relative; }\n.stepkit-card-stack__card[data-art=\"cobalt\"] .stepkit-card-stack__cover { background: #1e43d7; }\n.stepkit-card-stack__card[data-art=\"coral\"] .stepkit-card-stack__cover { background: #e75e42; }\n.stepkit-card-stack__art { height: 100%; inset: 0; position: absolute; width: 100%; }\n.stepkit-card-stack__art text { fill: rgba(255,255,255,.9); font-family: ui-sans-serif, system-ui, sans-serif; font-weight: 850; letter-spacing: -.08em; }\n.stepkit-card-stack__meta { align-items: flex-end; display: flex; gap: 12px; justify-content: space-between; margin-top: 20px; }\n.stepkit-card-stack__meta small { color: #79766d; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }\n.stepkit-card-stack__meta h3 { font-size: clamp(23px, 4vw, 36px); font-weight: 550; letter-spacing: -.075em; line-height: .95; margin: 5px 0 0; max-width: 12ch; }\n.stepkit-card-stack__body { color: #6d6a63; font-size: 13px; margin: 7px 0 0; max-width: 34ch; }\n.stepkit-card-stack__controls { display: flex; gap: 7px; }\n.stepkit-card-stack__control { align-items: center; background: #24252a; border: 0; border-radius: 50%; color: #fff; display: inline-flex; height: 42px; justify-content: center; width: 42px; }\n.stepkit-card-stack__control:disabled { cursor: not-allowed; opacity: .35; }\n.stepkit-card-stack__control svg { height: 16px; width: 16px; }\n\n.stepkit-product-bento { background: #f8fafb; color: #16191e; min-height: 700px; overflow: hidden; padding: clamp(28px, 7vw, 76px); position: relative; }\n.stepkit-product-bento__header { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin: 0 auto; max-width: 1120px; }\n.stepkit-product-bento__eyebrow { color: #6c7881; font-size: 11px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }\n.stepkit-product-bento__title { font-size: clamp(36px, 6vw, 68px); font-weight: 530; letter-spacing: -.06em; line-height: .94; margin: 11px 0 0; max-width: 8ch; }\n.stepkit-product-bento__description { color: #68737a; font-size: 15px; line-height: 1.45; margin: 19px 0 0; max-width: 36ch; }\n.stepkit-product-bento__tabs { background: #edf1f3; border: 1px solid #d6dde0; border-radius: 999px; display: flex; gap: 2px; padding: 4px; }\n.stepkit-product-bento__tab { background: transparent; border: 0; border-radius: 999px; color: #6f7b83; font-size: 11px; min-height: 36px; padding: 7px 12px; }\n.stepkit-product-bento__tab[aria-pressed=\"true\"] { background: var(--stepkit-accent-strong, #16191e); color: var(--stepkit-accent-text, #fff); }\n.stepkit-product-bento__grid { display: grid; gap: 13px; grid-template-columns: 1.15fr .85fr .85fr; grid-template-rows: repeat(2, minmax(175px, auto)); margin: 54px auto 0; max-width: 1120px; }\n.stepkit-product-bento__tile { background: #fff; border: 1px solid #dfe5e7; border-radius: 17px; box-shadow: 0 12px 30px rgba(25,46,61,.05); min-width: 0; overflow: hidden; padding: 22px; position: relative; }\n.stepkit-product-bento__tile--activity { grid-row: span 2; }\n.stepkit-product-bento__tile--integration { background: #e5f1f1; }\n.stepkit-product-bento__tile--shortcuts { background: #18242b; color: #f4f7f7; }\n.stepkit-product-bento__tile-label { color: #7c878d; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }\n.stepkit-product-bento__tile--shortcuts .stepkit-product-bento__tile-label { color: #9eafb4; }\n.stepkit-product-bento__tile-title { font-size: 18px; font-weight: 720; letter-spacing: -.04em; margin: 7px 0 0; }\n.stepkit-product-bento__chart { align-items: flex-end; display: flex; gap: 8px; height: 170px; margin-top: 20px; padding: 0 5px 2px; }\n.stepkit-product-bento__bar { background: #bcd9d5; border-radius: 7px 7px 2px 2px; flex: 1; min-height: 20px; }\n.stepkit-product-bento__bar:nth-child(2), .stepkit-product-bento__bar:nth-child(5) { background: #51a69b; }\n.stepkit-product-bento__bar:nth-child(3) { background: #f0b364; }\n.stepkit-product-bento__chart-axis { border-bottom: 1px solid #dfe5e7; left: 22px; position: absolute; right: 22px; top: 232px; }\n.stepkit-product-bento__summary { color: #637078; font-size: 12px; margin: 16px 0 0; }\n.stepkit-product-bento__avatars { display: flex; margin-top: 27px; }\n.stepkit-product-bento__avatar { align-items: center; background: #efb2a2; border: 2px solid #e5f1f1; border-radius: 50%; color: #4e2922; display: inline-flex; font-size: 11px; font-weight: 850; height: 38px; justify-content: center; margin-left: -8px; width: 38px; }\n.stepkit-product-bento__avatar:first-child { margin-left: 0; }\n.stepkit-product-bento__avatar:nth-child(2) { background: #8fc4df; }\n.stepkit-product-bento__avatar:nth-child(3) { background: #f0c87e; }\n.stepkit-product-bento__avatar:nth-child(4) { background: #a9d1b0; }\n.stepkit-product-bento__orbit { height: 120px; margin: 9px auto 0; position: relative; width: 180px; }\n.stepkit-product-bento__orbit::before, .stepkit-product-bento__orbit::after { border: 1px solid #9fc4c1; border-radius: 50%; content: \"\"; inset: 17px 0; position: absolute; transform: rotate(-22deg); }\n.stepkit-product-bento__orbit::after { inset: 0 22px; transform: rotate(58deg); }\n.stepkit-product-bento__orbit-core { align-items: center; background: #197e76; border-radius: 14px; color: #fff; display: flex; font-size: 11px; font-weight: 800; height: 46px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 62px; z-index: 1; }\n.stepkit-product-bento__orbit-node { align-items: center; background: #fff; border: 1px solid #9fc4c1; border-radius: 50%; color: #35645f; display: flex; font-size: 9px; font-weight: 800; height: 28px; justify-content: center; position: absolute; width: 28px; }\n.stepkit-product-bento__orbit-node:nth-child(2) { left: 7px; top: 44px; }\n.stepkit-product-bento__orbit-node:nth-child(3) { right: 7px; top: 44px; }\n.stepkit-product-bento__orbit-node:nth-child(4) { left: 75px; top: 1px; }\n.stepkit-product-bento__shortcuts { display: grid; gap: 8px; margin-top: 20px; }\n.stepkit-product-bento__shortcut { align-items: center; background: #26343b; border: 1px solid #35474f; border-radius: 8px; color: #e4edef; display: flex; font-size: 11px; gap: 9px; min-height: 36px; padding: 7px 9px; }\n.stepkit-product-bento__shortcut kbd { background: #10181c; border: 1px solid #485b61; border-radius: 4px; color: #9aafb4; font-size: 10px; margin-left: auto; padding: 2px 5px; }\n\n@keyframes stepkit-mesh-drift { 0% { transform: scale(1.14) translate3d(-2%, -1%, 0) rotate(-2deg); } 50% { transform: scale(1.2) translate3d(2%, 2%, 0) rotate(2deg); } 100% { transform: scale(1.14) translate3d(-1%, 3%, 0) rotate(-1deg); } }\n\n@media (max-width: 760px) {\n  .stepkit-scroll-showcase { min-height: 650px; padding: 34px 22px; }\n  .stepkit-scroll-showcase__viewport { margin-top: 36px; min-height: 320px; }\n  .stepkit-scroll-showcase__dashboard { grid-template-columns: 108px minmax(0, 1fr); }\n  .stepkit-scroll-showcase__nav { padding: 16px 9px; }\n  .stepkit-scroll-showcase__workspace { padding: 16px 17px; }\n  .stepkit-scroll-showcase__row { grid-template-columns: minmax(80px, 1fr) 55px; }\n  .stepkit-scroll-showcase__row span:not(.stepkit-scroll-showcase__status) { display: none; }\n  .stepkit-glass-dock, .stepkit-ai-composer, .stepkit-mesh-gradient { min-height: 560px; }\n  .stepkit-glass-dock__dock { bottom: 24px; gap: 5px; }\n  .stepkit-glass-dock__item { height: 49px; width: 49px; }\n  .stepkit-glass-dock__selection { bottom: 91px; }\n  .stepkit-card-stack, .stepkit-product-bento { padding: 34px 22px; }\n  .stepkit-card-stack { min-height: 600px; }\n  .stepkit-card-stack__header, .stepkit-product-bento__header { align-items: flex-start; flex-direction: column; }\n  .stepkit-card-stack__stage { height: auto; margin-top: 34px; min-height: 355px; padding-bottom: 36px; }\n  .stepkit-card-stack__card { min-height: 355px; padding: 19px; }\n  .stepkit-card-stack__cover { min-height: 190px; }\n  .stepkit-product-bento { min-height: 720px; }\n  .stepkit-product-bento__tabs { width: 100%; }\n  .stepkit-product-bento__tab { flex: 1; }\n  .stepkit-product-bento__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; margin-top: 34px; }\n  .stepkit-product-bento__tile--activity { grid-column: 1 / -1; grid-row: auto; }\n  .stepkit-product-bento__tile--integration, .stepkit-product-bento__tile--shortcuts { min-height: 205px; }\n  .stepkit-ai-composer { min-height: 360px; padding: 24px 18px; }\n  .stepkit-ai-composer__title { font-size: 28px; line-height: 1; max-width: 16ch; }\n  .stepkit-ai-composer__description { font-size: 13px; margin-top: 10px; }\n  .stepkit-ai-composer__panel { margin-top: 18px; padding: 10px; }\n  .stepkit-ai-composer__panel-head { padding: 3px 4px 8px; }\n  .stepkit-ai-composer__textarea { min-height: 100px; }\n  .stepkit-ai-composer__panel-foot { align-items: stretch; flex-wrap: wrap; }\n  .stepkit-ai-composer__chips { flex: 1 1 100%; }\n  .stepkit-ai-composer__send { justify-content: center; margin-left: auto; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .stepkit-glass-dock__item, .stepkit-scroll-showcase__laptop, .stepkit-card-stack__card { transition: none; }\n  .stepkit-mesh-gradient[data-playing=\"true\"] .stepkit-mesh-gradient__field { animation: none; }\n}\n",
      "type": "registry:style",
      "target": "components/stepkit/showcase.css"
    },
    {
      "path": "components/stepkit/styles.css",
      "content": "/*\n * Stepkit 0.3.0\n * Copyright (c) 2026 Vladislav Stepanov\n *\n * Original Stepkit portions in this release are licensed under the MIT License. Adapted portions identify their upstream licence and attribution in the copied source and in the entry-specific upstream notice files.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\n/* Stepkit components inherit tokens from .stepkit-theme or a consumer wrapper. */\n.stepkit-theme { background: var(--stepkit-bg, #f7f7f8); color: var(--stepkit-fg, #17181c); font-family: var(--stepkit-font-sans, Inter, ui-sans-serif, system-ui, sans-serif); }\n.stepkit,\n.stepkit * { box-sizing: border-box; }\n\n.stepkit {\n  color: var(--stepkit-fg, #17181c);\n  font-family: var(--stepkit-font-sans, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif);\n  font-size: 16px;\n  line-height: 1.5;\n  min-width: 0;\n}\n.stepkit :where(button, input, textarea, select) { color: inherit; font: inherit; }\n.stepkit:where(button, a, input, textarea, select, [tabindex=\"0\"]):focus-visible, .stepkit :where(button, a, input, textarea, select, [tabindex=\"0\"]):focus-visible { outline: 3px solid var(--stepkit-accent, #6950df); outline-offset: 3px; }\n.stepkit :where(a) { color: inherit; }\n.stepkit :where(p, h1, h2, h3, h4, ul, ol) { overflow-wrap: anywhere; }\n.stepkit :where(p) { white-space: pre-wrap; }\n.stepkit :where(button) { cursor: pointer; }\n.stepkit :where(button:disabled, input:disabled, textarea:disabled) { cursor: not-allowed; opacity: .58; }\n\n.stepkit-button { align-items: center; background: var(--stepkit-accent, #6950df); border: 1px solid var(--stepkit-accent, #6950df); border-radius: var(--stepkit-radius, 16px); color: var(--stepkit-accent-text, #fff); display: inline-flex; font-size: 14px; font-weight: 700; gap: 8px; justify-content: center; min-height: var(--stepkit-control-height, 44px); padding: 10px 17px; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }\n.stepkit-button:hover:not(:disabled) { background: var(--stepkit-accent-strong, #5137c7); border-color: var(--stepkit-accent-strong, #5137c7); transform: translateY(-1px); }\n.stepkit-button:active:not(:disabled) { transform: translateY(0); }\n.stepkit-button[data-size=\"sm\"] { min-height: 44px; padding: 8px 13px; }\n.stepkit-button[data-size=\"lg\"] { min-height: 50px; padding: 13px 22px; }\n.stepkit-button[data-variant=\"outline\"] { background: transparent; border-color: var(--stepkit-border-strong, #c8cad3); color: var(--stepkit-fg, #17181c); }\n.stepkit-button[data-variant=\"outline\"]:hover:not(:disabled) { background: var(--stepkit-accent-soft, #eeeafd); border-color: var(--stepkit-accent, #6950df); color: var(--stepkit-accent-on-soft, #5137c7); }\n.stepkit-button[data-variant=\"ghost\"], .stepkit-button[data-variant=\"soft\"] { background: var(--stepkit-accent-soft, #eeeafd); border-color: transparent; color: var(--stepkit-accent-on-soft, #5137c7); }\n.stepkit-button[data-variant=\"ghost\"]:hover:not(:disabled), .stepkit-button[data-variant=\"soft\"]:hover:not(:disabled) { background: color-mix(in srgb, var(--stepkit-accent-soft, #eeeafd) 76%, var(--stepkit-accent, #6950df)); }\n.stepkit-button[data-variant=\"danger\"] { background: #c43d50; border-color: #c43d50; color: #fff; }\n.stepkit-button[data-variant=\"danger\"]:hover:not(:disabled) { background: #a92d40; border-color: #a92d40; }\n.stepkit-button__spinner { animation: stepkit-spin 700ms linear infinite; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; height: 15px; width: 15px; }\n\n.stepkit-card { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-card-radius, var(--stepkit-radius, 16px)); box-shadow: 0 8px 24px color-mix(in srgb, var(--stepkit-fg, #17181c) 5%, transparent); color: var(--stepkit-fg, #17181c); padding: clamp(18px, 3vw, 28px); }\n.stepkit-card__eyebrow { color: var(--stepkit-accent-on-soft, #5137c7); font-size: 12px; font-weight: 800; letter-spacing: .08em; margin: 0 0 10px; text-transform: uppercase; }\n.stepkit-card__title { font-size: 20px; letter-spacing: -.03em; line-height: 1.2; margin: 0 0 8px; }\n.stepkit-card__body { color: var(--stepkit-muted, #626572); margin: 0; }\n.stepkit-card__footer { align-items: center; border-top: 1px solid var(--stepkit-border, #e3e4e9); display: flex; gap: 12px; justify-content: space-between; margin-top: 22px; padding-top: 16px; }\n\n.stepkit-badge { align-items: center; border-radius: 999px; display: inline-flex; font-size: 12px; font-weight: 750; gap: 7px; line-height: 1; min-height: 28px; padding: 6px 10px; }\n.stepkit-badge[data-size=\"sm\"] { font-size: 11px; min-height: 24px; padding: 5px 8px; }\n.stepkit-badge__dot { background: currentColor; border-radius: 50%; height: 7px; width: 7px; }\n.stepkit-badge[data-tone=\"neutral\"] { background: var(--stepkit-surface-muted, #f0f0f3); color: var(--stepkit-muted, #626572); }\n.stepkit-badge[data-tone=\"accent\"], .stepkit-badge[data-tone=\"info\"] { background: var(--stepkit-accent-soft, #eeeafd); color: var(--stepkit-accent-on-soft, #5137c7); }\n.stepkit-badge[data-tone=\"success\"] { background: #e4f7ef; color: #087452; }\n.stepkit-badge[data-tone=\"warning\"] { background: #fff1dc; color: #9b5b08; }\n.stepkit-badge[data-tone=\"danger\"] { background: #ffe6ea; color: #a52e42; }\n\n.stepkit-field { display: grid; gap: 8px; width: 100%; }\n.stepkit-field__label { color: var(--stepkit-fg, #17181c); font-size: 14px; font-weight: 700; }\n.stepkit-field__hint { color: var(--stepkit-muted, #626572); font-size: 13px; margin: 0; }\n.stepkit-field__error { color: var(--stepkit-error, #b43145); font-size: 13px; margin: 0; }\n.stepkit-input, .stepkit-textarea { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border-strong, #c8cad3); border-radius: var(--stepkit-radius, 16px); color: var(--stepkit-fg, #17181c); min-height: var(--stepkit-control-height, 44px); padding: 10px 13px; transition: border-color 160ms ease, box-shadow 160ms ease; width: 100%; }\n.stepkit-textarea { min-height: 116px; resize: vertical; }\n.stepkit-input::placeholder, .stepkit-textarea::placeholder { color: var(--stepkit-placeholder, #626572); opacity: 1; }\n.stepkit-input:hover, .stepkit-textarea:hover { border-color: var(--stepkit-accent, #6950df); }\n.stepkit-input:focus, .stepkit-textarea:focus { border-color: var(--stepkit-accent, #6950df); box-shadow: 0 0 0 4px var(--stepkit-accent-soft, #eeeafd); outline: none; }\n.stepkit-field[data-invalid=\"true\"] .stepkit-input, .stepkit-field[data-invalid=\"true\"] .stepkit-textarea { border-color: #c43d50; }\n.stepkit-field__control { position: relative; }\n.stepkit-field__adornment { align-items: center; color: var(--stepkit-muted, #626572); display: flex; inset: 0 auto 0 13px; pointer-events: none; position: absolute; }\n.stepkit-field__adornment--end { inset: 0 13px 0 auto; }\n.stepkit-field__control:has(.stepkit-field__adornment) .stepkit-input { padding-left: 40px; }\n.stepkit-field__control:has(.stepkit-field__adornment--end) .stepkit-input { padding-right: 40px; }\n\n.stepkit-check, .stepkit-switch { align-items: flex-start; display: flex; gap: 12px; }\n.stepkit-check__box { appearance: none; background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border-strong, #c8cad3); border-radius: 6px; flex: 0 0 20px; height: 20px; margin: 2px 0 0; position: relative; width: 20px; }\n.stepkit-check__box:checked { background: var(--stepkit-accent, #6950df); border-color: var(--stepkit-accent, #6950df); }\n.stepkit-check__box:checked::after { border: solid #fff; border-width: 0 2px 2px 0; content: \"\"; height: 10px; left: 6px; position: absolute; top: 2px; transform: rotate(45deg); width: 5px; }\n.stepkit-check__copy, .stepkit-switch__copy { display: grid; gap: 3px; }\n.stepkit-check__label, .stepkit-switch__label { color: var(--stepkit-fg, #17181c); font-size: 14px; font-weight: 700; }\n.stepkit-check__description, .stepkit-switch__description { color: var(--stepkit-muted, #626572); font-size: 13px; margin: 0; }\n.stepkit-switch__input { appearance: none; background: var(--stepkit-border-strong, #c8cad3); border: 0; border-radius: 999px; flex: 0 0 44px; height: 24px; margin: 1px 0 0; padding: 3px; transition: background-color 160ms ease; width: 44px; }\n.stepkit-switch__input::before { background: #fff; border-radius: 50%; content: \"\"; display: block; height: 18px; transition: transform 160ms ease; width: 18px; }\n.stepkit-switch__input:checked { background: var(--stepkit-accent, #6950df); }\n.stepkit-switch__input:checked::before { transform: translateX(20px); }\n\n.stepkit-tabs { display: grid; gap: 18px; }\n.stepkit-tabs__list { border-bottom: 1px solid var(--stepkit-border, #e3e4e9); display: flex; flex-wrap: wrap; gap: 4px; }\n.stepkit-tabs__trigger { background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--stepkit-muted, #626572); min-height: 44px; padding: 9px 13px; }\n.stepkit-tabs__trigger[aria-selected=\"true\"] { border-bottom-color: var(--stepkit-accent, #6950df); color: var(--stepkit-accent-on-soft, #5137c7); font-weight: 750; }\n.stepkit-tabs__panel { animation: stepkit-fade-in 180ms ease both; color: var(--stepkit-muted, #626572); min-height: 60px; }\n\n.stepkit-modal-trigger { margin: 0; }\n.stepkit-modal-panel { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); box-shadow: var(--stepkit-shadow, 0 20px 60px rgba(31, 26, 64, .1)); color: var(--stepkit-fg, #17181c); max-height: min(82vh, 680px); max-width: min(520px, calc(100% - 28px)); overflow: auto; padding: clamp(22px, 5vw, 34px); width: 100%; }\n.stepkit-modal-panel::backdrop { background: color-mix(in srgb, var(--stepkit-fg, #17181c) 32%, transparent); }\n.stepkit-modal-title { font-size: 24px; letter-spacing: -.04em; line-height: 1.15; margin: 0 0 10px; }\n.stepkit-modal-body { color: var(--stepkit-muted, #626572); margin: 0 0 24px; }\n.stepkit-modal-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 24px; }\n\n.stepkit-tooltip { display: inline-flex; position: relative; }\n.stepkit-tooltip__content { background: var(--stepkit-fg, #17181c); border-radius: 8px; bottom: calc(100% + 10px); color: var(--stepkit-surface, #fff); font-size: 12px; left: 50%; max-width: min(260px, 80vw); opacity: 0; padding: 8px 10px; pointer-events: none; position: absolute; transform: translate(-50%, 4px); transition: opacity 140ms ease, transform 140ms ease; width: max-content; z-index: 4; }\n.stepkit-tooltip__content::after { border: 5px solid transparent; border-top-color: var(--stepkit-fg, #17181c); content: \"\"; left: 50%; position: absolute; top: 100%; transform: translateX(-50%); }\n.stepkit-tooltip[data-open=\"true\"] .stepkit-tooltip__content { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }\n\n.stepkit-navbar { align-items: center; display: flex; gap: 24px; justify-content: space-between; min-height: 64px; width: 100%; }\n.stepkit-navbar__brand { align-items: center; color: var(--stepkit-fg, #17181c); display: inline-flex; font-size: 17px; font-weight: 800; letter-spacing: -.04em; min-height: 44px; text-decoration: none; }\n.stepkit-navbar__links { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }\n.stepkit-navbar__link { align-items: center; border-radius: 10px; color: var(--stepkit-muted, #626572); display: inline-flex; min-height: 44px; padding: 8px 11px; text-decoration: none; }\n.stepkit-navbar__link:hover, .stepkit-navbar__link:focus-visible { background: var(--stepkit-accent-soft, #eeeafd); color: var(--stepkit-accent-on-soft, #5137c7); }\n.stepkit-navbar[data-compact=\"true\"] { min-height: 48px; }\n@media (max-width: 560px) { .stepkit-navbar { align-items: flex-start; flex-direction: column; gap: 10px; } .stepkit-navbar__links { justify-content: flex-start; width: 100%; } }\n\n.stepkit-sidebar { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); display: flex; flex-direction: column; gap: 18px; min-width: 190px; padding: 16px; }\n.stepkit-sidebar__title { color: var(--stepkit-muted, #626572); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }\n.stepkit-sidebar__items { display: grid; gap: 3px; }\n.stepkit-sidebar__item { align-items: center; background: transparent; border: 0; border-radius: 10px; color: var(--stepkit-muted, #626572); display: flex; font-size: 14px; gap: 9px; min-height: 42px; padding: 9px 10px; text-align: left; width: 100%; }\n.stepkit-sidebar__item:hover, .stepkit-sidebar__item[aria-current=\"page\"] { background: var(--stepkit-accent-soft, #eeeafd); color: var(--stepkit-accent-on-soft, #5137c7); }\n.stepkit-sidebar__item[aria-current=\"page\"] { font-weight: 750; }\n.stepkit-sidebar__footer { border-top: 1px solid var(--stepkit-border, #e3e4e9); color: var(--stepkit-muted, #626572); font-size: 12px; padding-top: 14px; }\n\n.stepkit-command { display: inline-flex; }\n.stepkit-command__dialog { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); box-shadow: var(--stepkit-shadow, 0 20px 60px rgba(31, 26, 64, .1)); color: var(--stepkit-fg, #17181c); max-width: min(600px, calc(100% - 24px)); padding: 10px; width: 100%; }\n.stepkit-command__dialog::backdrop { background: color-mix(in srgb, var(--stepkit-fg, #17181c) 30%, transparent); }\n.stepkit-command__input { background: transparent; border: 0; border-bottom: 1px solid var(--stepkit-border, #e3e4e9); border-radius: 0; min-height: 48px; outline: none; padding: 12px; width: 100%; }\n.stepkit-command__list { display: grid; gap: 3px; list-style: none; margin: 8px 0 0; max-height: 300px; overflow: auto; padding: 0; }\n.stepkit-command__item { align-items: center; background: transparent; border: 0; border-radius: 10px; display: flex; gap: 12px; justify-content: space-between; min-height: 44px; padding: 10px 12px; text-align: left; width: 100%; }\n.stepkit-command__item:hover, .stepkit-command__item[aria-selected=\"true\"] { background: var(--stepkit-accent-soft, #eeeafd); color: var(--stepkit-accent-on-soft, #5137c7); }\n.stepkit-command__shortcut { color: var(--stepkit-muted, #626572); font-size: 12px; }\n.stepkit-command__empty { color: var(--stepkit-muted, #626572); margin: 14px 12px; }\n\n.stepkit-accordion { border-top: 1px solid var(--stepkit-border, #e3e4e9); }\n.stepkit-accordion__item { border-bottom: 1px solid var(--stepkit-border, #e3e4e9); }\n.stepkit-accordion__trigger { align-items: center; background: transparent; border: 0; display: flex; font-size: 16px; font-weight: 750; gap: 14px; justify-content: space-between; min-height: 58px; padding: 14px 0; text-align: left; width: 100%; }\n.stepkit-accordion__icon { color: var(--stepkit-accent-on-soft, #5137c7); font-size: 22px; font-weight: 400; }\n.stepkit-accordion__panel { color: var(--stepkit-muted, #626572); max-width: 70ch; padding: 0 28px 20px 0; }\n\n.stepkit-empty-state { align-items: center; background: var(--stepkit-surface, #fff); border: 1px dashed var(--stepkit-border-strong, #c8cad3); border-radius: var(--stepkit-radius, 16px); display: flex; flex-direction: column; gap: 10px; justify-content: center; min-height: 240px; padding: 30px; text-align: center; }\n.stepkit-empty-state__icon { align-items: center; background: var(--stepkit-accent-soft, #eeeafd); border-radius: 14px; color: var(--stepkit-accent-on-soft, #5137c7); display: flex; font-size: 22px; height: 48px; justify-content: center; width: 48px; }\n.stepkit-empty-state__title { font-size: 20px; letter-spacing: -.03em; margin: 0; }\n.stepkit-empty-state__description { color: var(--stepkit-muted, #626572); margin: 0 0 8px; max-width: 42ch; }\n\n.stepkit-toast { align-items: flex-start; background: var(--stepkit-fg, #17181c); border-radius: var(--stepkit-radius, 16px); box-shadow: var(--stepkit-shadow, 0 20px 60px rgba(31, 26, 64, .1)); color: var(--stepkit-surface, #fff); display: flex; gap: 16px; justify-content: space-between; max-width: min(420px, 100%); padding: 16px 18px; }\n.stepkit-toast__copy { display: grid; gap: 3px; }\n.stepkit-toast__title { font-weight: 800; }\n.stepkit-toast__message { color: color-mix(in srgb, var(--stepkit-surface, #fff) 72%, transparent); font-size: 14px; margin: 0; }\n.stepkit-toast__close { background: transparent; border: 0; border-radius: 8px; color: inherit; min-height: 36px; min-width: 36px; }\n.stepkit-toast__close:hover { background: color-mix(in srgb, var(--stepkit-surface, #fff) 16%, transparent); }\n\n.stepkit-border-highlight { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); color: var(--stepkit-fg, #17181c); display: block; padding: 24px; text-decoration: none; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }\n.stepkit-border-highlight:hover, .stepkit-border-highlight:focus-visible { border-color: var(--stepkit-accent, #6950df); box-shadow: 0 0 0 4px var(--stepkit-accent-soft, #eeeafd); transform: translateY(-2px); }\n.stepkit-border-highlight[data-intensity=\"strong\"] { border-color: var(--stepkit-accent, #6950df); }\n.stepkit-border-highlight[data-paused=\"true\"] { transition: none; }\n.stepkit-border-highlight__title { display: block; font-size: 18px; font-weight: 800; }\n.stepkit-border-highlight__hint { color: var(--stepkit-muted, #626572); display: block; font-size: 13px; margin-top: 5px; }\n\n.stepkit-pointer-tilt { perspective: 900px; }\n.stepkit-pointer-tilt__surface { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); box-shadow: var(--stepkit-shadow, 0 20px 60px rgba(31, 26, 64, .1)); padding: clamp(24px, 5vw, 50px); transform: rotateX(var(--stepkit-tilt-y, 0deg)) rotateY(var(--stepkit-tilt-x, 0deg)); transition: transform 180ms ease; }\n.stepkit-pointer-tilt__surface h3 { font-size: clamp(24px, 4vw, 42px); letter-spacing: -.06em; line-height: 1; margin: 0 0 12px; }\n.stepkit-pointer-tilt__surface p { color: var(--stepkit-muted, #626572); margin: 0; }\n.stepkit-pointer-tilt[data-paused=\"true\"] .stepkit-pointer-tilt__surface { transition: none; transform: none; }\n\n.stepkit-text-reveal { display: inline; }\n.stepkit-text-reveal__word { animation: stepkit-reveal 520ms cubic-bezier(.2,.8,.2,1) forwards; animation-delay: calc(var(--stepkit-index) * 55ms); display: inline-block; margin-right: .23em; opacity: 0; transform: translateY(.45em); }\n.stepkit-text-reveal[data-paused=\"true\"] .stepkit-text-reveal__word { animation: none; opacity: 1; transform: none; }\n\n.stepkit-spotlight-panel { background: radial-gradient(circle at var(--stepkit-spotlight-x, 50%) var(--stepkit-spotlight-y, 50%), color-mix(in srgb, var(--stepkit-accent, #6950df) 25%, transparent), transparent 34%), var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); min-height: 260px; overflow: hidden; padding: clamp(24px, 5vw, 54px); position: relative; }\n.stepkit-spotlight-panel::after { background: linear-gradient(135deg, color-mix(in srgb, var(--stepkit-accent, #6950df) 12%, transparent), transparent 48%); content: \"\"; inset: 0; pointer-events: none; position: absolute; }\n.stepkit-spotlight-panel__content { max-width: 34rem; position: relative; z-index: 1; }\n.stepkit-spotlight-panel__eyebrow { color: var(--stepkit-accent-on-soft, #5137c7); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }\n.stepkit-spotlight-panel h3 { font-size: clamp(26px, 5vw, 52px); letter-spacing: -.07em; line-height: .98; margin: 14px 0; }\n.stepkit-spotlight-panel p { color: var(--stepkit-muted, #626572); margin: 0; max-width: 46ch; }\n\n.stepkit-gradient-wash { background: linear-gradient(135deg, color-mix(in srgb, var(--stepkit-accent, #6950df) 19%, var(--stepkit-bg, #f7f7f8)), var(--stepkit-surface, #fff) 52%, color-mix(in srgb, var(--stepkit-accent-soft, #eeeafd) 68%, var(--stepkit-surface, #fff))); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); min-height: 260px; overflow: hidden; padding: clamp(26px, 5vw, 58px); position: relative; }\n.stepkit-gradient-wash::before, .stepkit-gradient-wash::after { border: 1px solid color-mix(in srgb, var(--stepkit-accent, #6950df) 30%, transparent); border-radius: 50%; content: \"\"; height: 240px; position: absolute; right: -50px; top: -80px; transform: rotate(-20deg); width: 240px; }\n.stepkit-gradient-wash::after { bottom: -80px; height: 150px; right: 110px; top: auto; width: 150px; }\n.stepkit-gradient-wash__content { max-width: 36rem; position: relative; z-index: 1; }\n.stepkit-gradient-wash h3 { font-size: clamp(28px, 5vw, 54px); letter-spacing: -.07em; line-height: .98; margin: 0 0 14px; }\n.stepkit-gradient-wash p { color: var(--stepkit-muted, #626572); margin: 0; max-width: 45ch; }\n\n.stepkit-staggered-grid { display: grid; gap: var(--stepkit-space, 16px); grid-template-columns: repeat(3, minmax(0, 1fr)); }\n.stepkit-staggered-grid__item { animation: stepkit-rise 500ms cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--stepkit-index) * 70ms); background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); min-height: 150px; padding: 20px; }\n.stepkit-staggered-grid__number { color: var(--stepkit-accent-on-soft, #5137c7); font-size: 13px; font-weight: 800; }\n.stepkit-staggered-grid__title { font-size: 18px; font-weight: 800; margin: 28px 0 5px; }\n.stepkit-staggered-grid__body { color: var(--stepkit-muted, #626572); font-size: 14px; margin: 0; }\n.stepkit-staggered-grid[data-paused=\"true\"] .stepkit-staggered-grid__item { animation: none; }\n@media (max-width: 640px) { .stepkit-staggered-grid { grid-template-columns: 1fr; } }\n\n.stepkit-expandable-card { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); overflow: hidden; }\n.stepkit-expandable-card__trigger { align-items: center; background: transparent; border: 0; display: flex; gap: 14px; justify-content: space-between; min-height: 72px; padding: 18px 20px; text-align: left; width: 100%; }\n.stepkit-expandable-card__title { font-size: 18px; font-weight: 800; }\n.stepkit-expandable-card__icon { color: var(--stepkit-accent-on-soft, #5137c7); font-size: 24px; }\n.stepkit-expandable-card__body { border-top: 1px solid var(--stepkit-border, #e3e4e9); color: var(--stepkit-muted, #626572); padding: 18px 20px 22px; }\n\n.stepkit-hero { background: linear-gradient(135deg, var(--stepkit-surface, #fff), var(--stepkit-accent-soft, #eeeafd)); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: calc(var(--stepkit-radius, 16px) + 6px); display: grid; gap: 20px; overflow: hidden; padding: clamp(32px, 7vw, 84px); position: relative; }\n.stepkit-hero::after { background: radial-gradient(circle, color-mix(in srgb, var(--stepkit-accent, #6950df) 38%, transparent), transparent 68%); content: \"\"; height: 400px; opacity: .42; position: absolute; right: -160px; top: -160px; width: 400px; }\n.stepkit-hero__content { max-width: 660px; position: relative; z-index: 1; }\n.stepkit-hero__eyebrow { color: var(--stepkit-accent-on-soft, #5137c7); font-size: 12px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }\n.stepkit-hero__headline { font-size: clamp(38px, 7vw, 78px); letter-spacing: -.08em; line-height: .96; margin: 12px 0 18px; max-width: 10ch; }\n.stepkit-hero__body { color: var(--stepkit-muted, #626572); font-size: clamp(16px, 2vw, 20px); margin: 0; max-width: 48ch; }\n.stepkit-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }\n.stepkit-hero__visual { min-height: 170px; position: relative; z-index: 1; }\n.stepkit-hero__orb { background: linear-gradient(135deg, var(--stepkit-accent, #6950df), color-mix(in srgb, var(--stepkit-accent, #6950df) 42%, #fff)); border-radius: 42% 58% 55% 45%; box-shadow: 0 30px 80px color-mix(in srgb, var(--stepkit-accent, #6950df) 32%, transparent); height: clamp(130px, 25vw, 240px); margin-left: auto; transform: rotate(-15deg); width: clamp(130px, 25vw, 240px); }\n\n.stepkit-feature-bento { display: grid; gap: var(--stepkit-space, 16px); grid-template-columns: repeat(4, minmax(0, 1fr)); }\n.stepkit-feature-bento__item { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); min-height: 180px; overflow: hidden; padding: clamp(18px, 3vw, 28px); position: relative; }\n.stepkit-feature-bento__item:nth-child(1) { grid-column: span 2; grid-row: span 2; min-height: 380px; }\n.stepkit-feature-bento__item:nth-child(2) { grid-column: span 2; }\n.stepkit-feature-bento__item:nth-child(3), .stepkit-feature-bento__item:nth-child(4) { grid-column: span 1; }\n.stepkit-feature-bento__glow { background: radial-gradient(circle, color-mix(in srgb, var(--stepkit-accent, #6950df) 55%, transparent), transparent 70%); height: 260px; opacity: .7; position: absolute; right: -80px; top: -70px; width: 260px; }\n.stepkit-feature-bento__title { font-size: 21px; letter-spacing: -.04em; margin: 0 0 8px; position: relative; }\n.stepkit-feature-bento__body { color: var(--stepkit-muted, #626572); margin: 0; max-width: 34ch; position: relative; }\n.stepkit-feature-bento__metric { bottom: 22px; color: var(--stepkit-accent, #6950df); font-size: clamp(38px, 7vw, 72px); font-weight: 850; letter-spacing: -.09em; line-height: 1; position: absolute; right: 22px; }\n@media (max-width: 760px) { .stepkit-feature-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stepkit-feature-bento__item:nth-child(1), .stepkit-feature-bento__item:nth-child(2), .stepkit-feature-bento__item:nth-child(3), .stepkit-feature-bento__item:nth-child(4) { grid-column: span 2; grid-row: auto; min-height: 180px; } }\n\n.stepkit-pricing-comparison { display: grid; gap: var(--stepkit-space, 16px); grid-template-columns: repeat(3, minmax(0, 1fr)); }\n.stepkit-pricing-comparison > .stepkit-card__eyebrow { grid-column: 1 / -1; margin: 0; }\n.stepkit-pricing-comparison__plan { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); display: flex; flex-direction: column; padding: clamp(20px, 3vw, 28px); position: relative; }\n.stepkit-pricing-comparison__plan[data-recommended=\"true\"] { border-color: var(--stepkit-accent, #6950df); box-shadow: 0 14px 40px color-mix(in srgb, var(--stepkit-accent, #6950df) 15%, transparent); transform: translateY(-8px); }\n.stepkit-pricing-comparison__recommended { background: var(--stepkit-accent, #6950df); border-radius: 999px; color: #fff; font-size: 11px; font-weight: 800; padding: 5px 9px; position: absolute; right: 18px; text-transform: uppercase; top: 18px; }\n.stepkit-pricing-comparison__name { font-size: 18px; font-weight: 800; }\n.stepkit-pricing-comparison__description { color: var(--stepkit-muted, #626572); font-size: 14px; margin: 7px 0 20px; }\n.stepkit-pricing-comparison__price { font-size: 42px; font-weight: 850; letter-spacing: -.08em; line-height: 1; }\n.stepkit-pricing-comparison__interval { color: var(--stepkit-muted, #626572); font-size: 13px; margin-left: 5px; }\n.stepkit-pricing-comparison__features { border-top: 1px solid var(--stepkit-border, #e3e4e9); display: grid; gap: 10px; list-style: none; margin: 22px 0; padding: 18px 0 0; }\n.stepkit-pricing-comparison__feature { color: var(--stepkit-muted, #626572); font-size: 14px; }\n.stepkit-pricing-comparison__feature::before { color: var(--stepkit-accent-on-soft, #5137c7); content: \"✓\"; font-weight: 800; margin-right: 9px; }\n.stepkit-pricing-comparison__action { margin-top: auto; width: 100%; }\n@media (max-width: 760px) { .stepkit-pricing-comparison { grid-template-columns: 1fr; } .stepkit-pricing-comparison__plan[data-recommended=\"true\"] { transform: none; } }\n\n.stepkit-testimonials { display: grid; gap: var(--stepkit-space, 16px); grid-template-columns: repeat(3, minmax(0, 1fr)); }\n.stepkit-testimonials__item { background: var(--stepkit-surface, #fff); border: 1px solid var(--stepkit-border, #e3e4e9); border-radius: var(--stepkit-radius, 16px); display: grid; gap: 20px; padding: 22px; }\n.stepkit-testimonials__quote { font-size: 18px; letter-spacing: -.03em; margin: 0; }\n.stepkit-testimonials__author { align-items: center; display: flex; gap: 10px; }\n.stepkit-testimonials__avatar { align-items: center; background: var(--stepkit-accent-soft, #eeeafd); border-radius: 50%; color: var(--stepkit-accent-on-soft, #5137c7); display: flex; font-size: 12px; font-weight: 850; height: 34px; justify-content: center; width: 34px; }\n.stepkit-testimonials__name { font-size: 13px; font-weight: 800; }\n.stepkit-testimonials__role { color: var(--stepkit-muted, #626572); display: block; font-size: 12px; }\n@media (max-width: 760px) { .stepkit-testimonials { grid-template-columns: 1fr; } }\n\n.stepkit-faq { display: grid; gap: 28px; grid-template-columns: minmax(180px, .6fr) minmax(0, 1.4fr); }\n.stepkit-faq__intro h3 { font-size: clamp(28px, 5vw, 48px); letter-spacing: -.07em; line-height: 1; margin: 0 0 12px; }\n.stepkit-faq__intro p { color: var(--stepkit-muted, #626572); margin: 0; }\n@media (max-width: 700px) { .stepkit-faq { grid-template-columns: 1fr; } }\n\n.stepkit-footer { border-top: 1px solid var(--stepkit-border, #e3e4e9); display: grid; gap: 28px; grid-template-columns: 1.3fr repeat(3, 1fr); padding: 34px 0 12px; }\n.stepkit-footer__brand { font-size: 20px; font-weight: 850; letter-spacing: -.05em; }\n.stepkit-footer__note { color: var(--stepkit-muted, #626572); font-size: 13px; margin: 8px 0 0; max-width: 26ch; }\n.stepkit-footer__group h4 { font-size: 12px; margin: 0 0 10px; }\n.stepkit-footer__links { display: grid; gap: 7px; }\n.stepkit-footer__link { color: var(--stepkit-muted, #626572); font-size: 13px; text-decoration: none; }\n.stepkit-footer__link:hover { color: var(--stepkit-accent-on-soft, #5137c7); text-decoration: underline; }\n.stepkit-footer__copyright { border-top: 1px solid var(--stepkit-border, #e3e4e9); color: var(--stepkit-muted, #626572); font-size: 12px; grid-column: 1 / -1; padding-top: 14px; }\n@media (max-width: 700px) { .stepkit-footer { grid-template-columns: repeat(2, 1fr); } .stepkit-footer__brand { grid-column: 1 / -1; } }\n\n@keyframes stepkit-spin { to { transform: rotate(360deg); } }\n@keyframes stepkit-fade-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }\n@keyframes stepkit-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }\n@keyframes stepkit-reveal { to { opacity: 1; transform: none; } }\n@media (prefers-reduced-motion: reduce) { .stepkit, .stepkit *, .stepkit::before, .stepkit::after, .stepkit *::before, .stepkit *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }\n.stepkit-sr-only { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }\n\n/* Magic UI Border Beam adaptation: local CSS path, tokens, and motion bounds. */\n.stepkit-border-highlight { isolation: isolate; overflow: hidden; position: relative; }\n.stepkit-border-highlight::before { background: linear-gradient(120deg, color-mix(in srgb, var(--stepkit-beam-from, var(--stepkit-accent, #6950df)) 44%, transparent), transparent 58%, color-mix(in srgb, var(--stepkit-beam-to, var(--stepkit-accent-strong, #5137c7)) 40%, transparent)) border-box; border: var(--stepkit-beam-width, 1px) solid transparent; border-radius: inherit; content: \"\"; inset: 0; mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0); mask-composite: exclude; opacity: .5; pointer-events: none; position: absolute; }\n.stepkit-border-highlight__beam { aspect-ratio: 1; background: radial-gradient(circle, var(--stepkit-beam-from, var(--stepkit-accent, #6950df)) 0 16%, var(--stepkit-beam-to, var(--stepkit-accent-strong, #5137c7)) 37%, transparent 72%); border-radius: 50%; filter: blur(1px); height: var(--stepkit-beam-size, 52px); left: calc(var(--stepkit-beam-size, 52px) * -.5); offset-distance: var(--stepkit-beam-start, 0%); offset-path: inset(0 round var(--stepkit-radius, 16px)); opacity: .8; pointer-events: none; position: absolute; top: calc(var(--stepkit-beam-size, 52px) * -.5); animation: stepkit-border-beam calc(var(--stepkit-beam-duration, 6) * 1s) linear calc(var(--stepkit-beam-delay, 0) * -1s) infinite; z-index: 0; }\n.stepkit-border-highlight[data-reverse=\"true\"] .stepkit-border-highlight__beam { animation-direction: reverse; }\n.stepkit-border-highlight[data-intensity=\"subtle\"] .stepkit-border-highlight__beam { opacity: .56; }\n.stepkit-border-highlight[data-intensity=\"strong\"] .stepkit-border-highlight__beam { opacity: .95; }\n.stepkit-border-highlight[data-paused=\"true\"] .stepkit-border-highlight__beam { animation-play-state: paused; }\n.stepkit-border-highlight > :not(.stepkit-border-highlight__beam) { position: relative; z-index: 1; }\n.stepkit-number-transition { color: var(--stepkit-fg, #17181c); font-variant-numeric: tabular-nums; font-weight: 800; }\n@keyframes stepkit-border-beam { from { offset-distance: var(--stepkit-beam-start, 0%); } to { offset-distance: calc(var(--stepkit-beam-start, 0%) + 100%); } }\n@media (prefers-reduced-motion: reduce) { .stepkit-border-highlight__beam { animation: none; offset-distance: var(--stepkit-beam-start, 0%); } }\n",
      "type": "registry:style",
      "target": "components/stepkit/styles.css"
    },
    {
      "path": "NOTICE.md",
      "content": "Stepkit 0.3.0\nCopyright (c) 2026 Vladislav Stepanov\n\nOriginal Stepkit portions in this release are licensed under the MIT License. Adapted portions identify their upstream licence and attribution in the copied source and in the entry-specific upstream notice files.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
      "type": "registry:file",
      "target": "NOTICE.md"
    },
    {
      "path": "PROVENANCE-stepkit-glass-dock.md",
      "content": "# Stepkit provenance: Glass dock\n\nRelease: Stepkit 0.3.0\nOrigin: Original\nLicence: MIT\n\nThis source is an original Stepkit implementation.\n\nSee `NOTICE.md` for the Stepkit MIT notice.\n",
      "type": "registry:file",
      "target": "PROVENANCE-stepkit-glass-dock.md"
    }
  ],
  "docs": "# Glass dock\n\nA glass navigation dock over an original saturated landscape with selected and magnified destinations.\n\nStepkit 0.3.0 · Original · MIT\n\nThe generated source keeps user text as text and includes the shared styles file.\n\n## Usage\n\n```tsx\n\"use client\";\n\nimport type { CSSProperties } from \"react\";\nimport { GlassDock } from \"./components/stepkit/GlassDock\";\nimport \"./components/stepkit/styles.css\";\nimport \"./components/stepkit/showcase.css\";\n\nconst themeStyle = {\"--stepkit-bg\":\"#111217\",\"--stepkit-surface\":\"#1b1c24\",\"--stepkit-surface-muted\":\"#22232d\",\"--stepkit-fg\":\"#f6f5fb\",\"--stepkit-muted\":\"#a4a6b4\",\"--stepkit-border\":\"#343641\",\"--stepkit-border-strong\":\"#565866\",\"--stepkit-code\":\"#20212a\",\"--stepkit-shadow\":\"0 24px 70px rgba(0, 0, 0, .34)\",\"--stepkit-accent\":\"#057052\",\"--stepkit-accent-strong\":\"#034b38\",\"--stepkit-accent-soft\":\"#153f35\",\"--stepkit-accent-on-soft\":\"#63d4b2\",\"--stepkit-accent-text\":\"#ffffff\",\"--stepkit-error\":\"#ff9ba9\",\"--stepkit-placeholder\":\"#b8bac6\",\"--stepkit-radius\":\"28px\",\"--stepkit-space\":\"16px\",\"--stepkit-control-height\":\"44px\",\"--stepkit-font-sans\":\"Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", sans-serif\"} as CSSProperties;\n\nexport default function Example() {\n  return (\n    <div className=\"stepkit-theme\" data-stepkit-preset=\"modern\" style={themeStyle}>\n      <GlassDock\n      headline={\"Find your flow.\"}\n      paused={false}\n      />\n    </div>\n  );\n}\n```\n\n## Dependencies\n\n- react@19.3.0\n- react-dom@19.3.0\n\nSee `NOTICE.md`, `PROVENANCE-stepkit-glass-dock.md` for the notices and provenance that must travel with copied source.\n",
  "categories": [
    "patterns"
  ],
  "meta": {
    "stepkit": {
      "version": "0.3.0",
      "slug": "glass-dock",
      "componentName": "GlassDock",
      "origin": "Original",
      "license": "MIT",
      "sourceFiles": [
        "components/GlassDock.tsx",
        "components/showcase.css",
        "components/styles.css"
      ],
      "provenance": {
        "kind": "original",
        "note": "Original Stepkit implementation."
      },
      "upstream": null,
      "noticeFiles": [
        "NOTICE.md",
        "PROVENANCE-stepkit-glass-dock.md"
      ]
    }
  }
}
