@vasfal/vellum 0.1.0 → 0.1.2
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +5 -5
- package/.next/build-manifest.json +13 -14
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +2 -0
- package/.next/required-server-files.json +2 -0
- package/.next/server/app/(app)/page.js +2 -15
- package/.next/server/app/(app)/page.js.nft.json +1 -1
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -3
- package/.next/server/app/(app)/session/[name]/page.js +2 -15
- package/.next/server/app/(app)/session/[name]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/session/[name]/page_client-reference-manifest.js +1 -3
- package/.next/server/app/(app)/settings/key/page.js +2 -15
- package/.next/server/app/(app)/settings/key/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/key/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_global-error/page.js +32 -9
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.meta +2 -1
- package/.next/server/app/_global-error.rsc +7 -7
- package/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/{__PAGE__.segment.rsc → _global-error/__PAGE__.segment.rsc} +2 -2
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -13
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -3
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +14 -12
- package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -12
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -2
- package/.next/server/app/api/analyze/route.js +12 -9
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/analyze/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/key/route.js +1 -8
- package/.next/server/app/api/key/route.js.nft.json +1 -1
- package/.next/server/app/api/key/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/key-status/route.js +1 -7
- package/.next/server/app/api/key-status/route.js.nft.json +1 -1
- package/.next/server/app/api/key-status/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/models/route.js +1 -7
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -3
- package/.next/server/app/api/revise/route.js +1 -8
- package/.next/server/app/api/revise/route.js.nft.json +1 -1
- package/.next/server/app/api/revise/route_client-reference-manifest.js +1 -3
- package/.next/server/app/icon.svg/route.js +1 -7
- package/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +24 -27
- package/.next/server/app/index.segments/!KGFwcCk/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/index.segments/!KGFwcCk.segment.rsc +9 -9
- package/.next/server/app/index.segments/_full.segment.rsc +24 -27
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/record-test/page.js +8 -14
- package/.next/server/app/record-test/page.js.nft.json +1 -1
- package/.next/server/app/record-test/page_client-reference-manifest.js +1 -3
- package/.next/server/app/record-test.html +2 -2
- package/.next/server/app/record-test.rsc +16 -16
- package/.next/server/app/record-test.segments/_full.segment.rsc +16 -16
- package/.next/server/app/record-test.segments/_head.segment.rsc +4 -4
- package/.next/server/app/record-test.segments/_index.segment.rsc +6 -6
- package/.next/server/app/record-test.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/record-test.segments/record-test/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/record-test.segments/record-test.segment.rsc +3 -3
- package/.next/server/app/settings/key.html +1 -1
- package/.next/server/app/settings/key.rsc +28 -34
- package/.next/server/app/settings/key.segments/!KGFwcCk/settings/key/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/settings/key.segments/!KGFwcCk/settings/key.segment.rsc +3 -3
- package/.next/server/app/settings/key.segments/!KGFwcCk/settings.segment.rsc +3 -3
- package/.next/server/app/settings/key.segments/!KGFwcCk.segment.rsc +9 -9
- package/.next/server/app/settings/key.segments/_full.segment.rsc +28 -34
- package/.next/server/app/settings/key.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/key.segments/_index.segment.rsc +6 -6
- package/.next/server/app/settings/key.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/styleguide/page.js +2 -15
- package/.next/server/app/styleguide/page.js.nft.json +1 -1
- package/.next/server/app/styleguide/page_client-reference-manifest.js +1 -3
- package/.next/server/app/styleguide.html +1 -1
- package/.next/server/app/styleguide.rsc +68 -71
- package/.next/server/app/styleguide.segments/_full.segment.rsc +68 -71
- package/.next/server/app/styleguide.segments/_head.segment.rsc +4 -4
- package/.next/server/app/styleguide.segments/_index.segment.rsc +6 -6
- package/.next/server/app/styleguide.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/styleguide.segments/styleguide/__PAGE__.segment.rsc +43 -45
- package/.next/server/app/styleguide.segments/styleguide.segment.rsc +3 -3
- package/.next/server/app-paths-manifest.json +5 -5
- package/.next/server/chunks/15.js +1 -0
- package/.next/server/chunks/319.js +45 -0
- package/.next/server/chunks/367.js +122 -0
- package/.next/server/chunks/393.js +4 -0
- package/.next/server/chunks/491.js +2 -0
- package/.next/server/chunks/497.js +1 -0
- package/.next/server/chunks/546.js +1 -0
- package/.next/server/chunks/592.js +44 -0
- package/.next/server/chunks/607.js +4 -0
- package/.next/server/chunks/724.js +1 -0
- package/.next/server/chunks/741.js +18 -0
- package/.next/server/chunks/813.js +1 -0
- package/.next/server/chunks/837.js +75 -0
- package/.next/server/chunks/852.js +14 -0
- package/.next/server/chunks/907.js +62 -0
- package/.next/server/chunks/915.js +8 -0
- package/.next/server/chunks/994.js +8 -0
- package/.next/server/middleware-build-manifest.js +1 -21
- package/.next/server/middleware-manifest.json +2 -2
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -31
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -5
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/FExJe2q2O67X3zxf-SYQ_/_buildManifest.js +1 -0
- package/.next/static/chunks/185-9c51ded7cd36ca7e.js +1 -0
- package/.next/static/chunks/20-cca33f633fa125b2.js +1 -0
- package/.next/static/chunks/27-02413cc56fbb4570.js +1 -0
- package/.next/static/chunks/376-6f7bc95550542e0b.js +62 -0
- package/.next/static/chunks/479-ea67f878851afbcd.js +1 -0
- package/.next/static/chunks/493-6bd8c75c972d3abd.js +2 -0
- package/.next/static/chunks/4bd1b696-deb4a0a1da1923b0.js +1 -0
- package/.next/static/chunks/603-6235d4d53b37035c.js +1 -0
- package/.next/static/chunks/743-c183133e0fbf1564.js +44 -0
- package/.next/static/chunks/793-5e37343b804eb1d9.js +1 -0
- package/.next/static/chunks/794-dc751ec6c8c611f8.js +32 -0
- package/.next/static/chunks/924-9226750edc5c2c2f.js +1 -0
- package/.next/static/chunks/95247769-a29d70f7fbba27c6.js +1 -0
- package/.next/static/chunks/app/(app)/layout-aad46049bfd54648.js +1 -0
- package/.next/static/chunks/app/(app)/page-d75e1fccccdbe30e.js +1 -0
- package/.next/static/chunks/app/(app)/session/[name]/page-60529ed1fd7a66a1.js +1 -0
- package/.next/static/chunks/app/(app)/settings/key/page-c2aab9f11db98d4e.js +1 -0
- package/.next/static/chunks/app/_global-error/page-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/_not-found/page-6830be21b0ed0c95.js +1 -0
- package/.next/static/chunks/app/api/analyze/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/key/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/key-status/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/models/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/api/revise/route-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/app/layout-aa71ca14e7f13c0c.js +1 -0
- package/.next/static/chunks/app/record-test/page-efb4287dda79ede4.js +7 -0
- package/.next/static/chunks/app/styleguide/page-f39510e82c1f9f31.js +1 -0
- package/.next/static/chunks/framework-b29f9083d3cda3b2.js +1 -0
- package/.next/static/chunks/main-app-39f57c6e6702740e.js +1 -0
- package/.next/static/chunks/main-fac8900b4f9c4833.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-c1d4bb24e31b66a2.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b1c3f51315835726.js +1 -0
- package/.next/static/chunks/webpack-ceb933bd5f77076f.js +1 -0
- package/.next/static/css/e2905f0858acd77d.css +3 -0
- package/.next/types/app/(app)/page.ts +87 -0
- package/.next/types/app/(app)/session/[name]/page.ts +87 -0
- package/.next/types/app/(app)/settings/key/page.ts +87 -0
- package/.next/types/app/api/analyze/route.ts +351 -0
- package/.next/types/app/api/key/route.ts +351 -0
- package/.next/types/app/api/key-status/route.ts +351 -0
- package/.next/types/app/api/models/route.ts +351 -0
- package/.next/types/app/api/revise/route.ts +351 -0
- package/.next/types/app/layout.ts +87 -0
- package/.next/types/app/record-test/page.ts +87 -0
- package/.next/types/app/styleguide/page.ts +87 -0
- package/.next/types/package.json +1 -0
- package/README.md +4 -6
- package/next.config.ts +8 -0
- package/package.json +4 -4
- package/.next/build/56416d4ae4ce586f.js +0 -6
- package/.next/build/56416d4ae4ce586f.js.map +0 -5
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js +0 -206
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js.map +0 -8
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js +0 -500
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js.map +0 -11
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js +0 -13
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js.map +0 -5
- package/.next/build/chunks/[turbopack]_runtime.js +0 -890
- package/.next/build/chunks/[turbopack]_runtime.js.map +0 -11
- package/.next/build/chunks/node_modules_20v-8wl._.js +0 -6832
- package/.next/build/chunks/node_modules_20v-8wl._.js.map +0 -47
- package/.next/build/package.json +0 -1
- package/.next/cache/.previewinfo +0 -1
- package/.next/cache/.rscinfo +0 -1
- package/.next/cache/.tsbuildinfo +0 -1
- package/.next/diagnostics/route-bundle-stats.json +0 -111
- package/.next/fallback-build-manifest.json +0 -13
- package/.next/server/app/(app)/page/app-paths-manifest.json +0 -3
- package/.next/server/app/(app)/page/build-manifest.json +0 -17
- package/.next/server/app/(app)/page/next-font-manifest.json +0 -11
- package/.next/server/app/(app)/page/server-reference-manifest.json +0 -4
- package/.next/server/app/(app)/page.js.map +0 -5
- package/.next/server/app/(app)/session/[name]/page/app-paths-manifest.json +0 -3
- package/.next/server/app/(app)/session/[name]/page/build-manifest.json +0 -17
- package/.next/server/app/(app)/session/[name]/page/next-font-manifest.json +0 -11
- package/.next/server/app/(app)/session/[name]/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/(app)/session/[name]/page/server-reference-manifest.json +0 -4
- package/.next/server/app/(app)/session/[name]/page.js.map +0 -5
- package/.next/server/app/(app)/settings/key/page/app-paths-manifest.json +0 -3
- package/.next/server/app/(app)/settings/key/page/build-manifest.json +0 -17
- package/.next/server/app/(app)/settings/key/page/next-font-manifest.json +0 -11
- package/.next/server/app/(app)/settings/key/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/(app)/settings/key/page/server-reference-manifest.json +0 -4
- package/.next/server/app/(app)/settings/key/page.js.map +0 -5
- package/.next/server/app/_global-error/page/app-paths-manifest.json +0 -3
- package/.next/server/app/_global-error/page/build-manifest.json +0 -17
- package/.next/server/app/_global-error/page/next-font-manifest.json +0 -6
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/_global-error/page/server-reference-manifest.json +0 -4
- package/.next/server/app/_global-error/page.js.map +0 -5
- package/.next/server/app/_not-found/page/app-paths-manifest.json +0 -3
- package/.next/server/app/_not-found/page/build-manifest.json +0 -17
- package/.next/server/app/_not-found/page/next-font-manifest.json +0 -11
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/_not-found/page/server-reference-manifest.json +0 -4
- package/.next/server/app/_not-found/page.js.map +0 -5
- package/.next/server/app/api/analyze/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/analyze/route/build-manifest.json +0 -9
- package/.next/server/app/api/analyze/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/analyze/route.js.map +0 -5
- package/.next/server/app/api/key/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/key/route/build-manifest.json +0 -9
- package/.next/server/app/api/key/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/key/route.js.map +0 -5
- package/.next/server/app/api/key-status/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/key-status/route/build-manifest.json +0 -9
- package/.next/server/app/api/key-status/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/key-status/route.js.map +0 -5
- package/.next/server/app/api/models/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/models/route/build-manifest.json +0 -9
- package/.next/server/app/api/models/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/models/route.js.map +0 -5
- package/.next/server/app/api/revise/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/revise/route/build-manifest.json +0 -9
- package/.next/server/app/api/revise/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/revise/route.js.map +0 -5
- package/.next/server/app/icon.svg/route/app-paths-manifest.json +0 -3
- package/.next/server/app/icon.svg/route/build-manifest.json +0 -9
- package/.next/server/app/icon.svg/route.js.map +0 -5
- package/.next/server/app/record-test/page/app-paths-manifest.json +0 -3
- package/.next/server/app/record-test/page/build-manifest.json +0 -17
- package/.next/server/app/record-test/page/next-font-manifest.json +0 -11
- package/.next/server/app/record-test/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/record-test/page/server-reference-manifest.json +0 -4
- package/.next/server/app/record-test/page.js.map +0 -5
- package/.next/server/app/styleguide/page/app-paths-manifest.json +0 -3
- package/.next/server/app/styleguide/page/build-manifest.json +0 -17
- package/.next/server/app/styleguide/page/next-font-manifest.json +0 -11
- package/.next/server/app/styleguide/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/styleguide/page/server-reference-manifest.json +0 -4
- package/.next/server/app/styleguide/page.js.map +0 -5
- package/.next/server/chunks/[externals]__1l0bqbz._.js +0 -3
- package/.next/server/chunks/[externals]__1l0bqbz._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__00u0a0m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__00u0a0m._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__02oblj7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02oblj7._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__04dzkv1._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__04dzkv1._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__081zp1m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__081zp1m._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0dkua3v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0dkua3v._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0ezil_h._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0ezil_h._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0ww_12a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0ww_12a._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0x-kpif._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0x-kpif._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1kmbnvv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1kmbnvv._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1kp4vwc._.js +0 -14
- package/.next/server/chunks/[root-of-the-server]__1kp4vwc._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1lbd3kd._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1lbd3kd._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1ra6psc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ra6psc._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1zn977r._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1zn977r._.js.map +0 -1
- package/.next/server/chunks/[turbopack]_runtime.js +0 -903
- package/.next/server/chunks/[turbopack]_runtime.js.map +0 -11
- package/.next/server/chunks/_04h1cv_._.js +0 -185
- package/.next/server/chunks/_04h1cv_._.js.map +0 -1
- package/.next/server/chunks/_0pqmhjh._.js +0 -185
- package/.next/server/chunks/_0pqmhjh._.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_key-status_route_actions_1qgztm2.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_key-status_route_actions_1qgztm2.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_key_route_actions_15n2qsb.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_key_route_actions_15n2qsb.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_models_route_actions_1h6mkqp.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_models_route_actions_1h6mkqp.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_revise_route_actions_19kk3m-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_revise_route_actions_19kk3m-.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js.map +0 -1
- package/.next/server/chunks/node_modules_0x51oh_._.js +0 -10
- package/.next/server/chunks/node_modules_0x51oh_._.js.map +0 -1
- package/.next/server/chunks/node_modules_19bvt3l._.js +0 -6
- package/.next/server/chunks/node_modules_19bvt3l._.js.map +0 -1
- package/.next/server/chunks/node_modules_1_-az43._.js +0 -16
- package/.next/server/chunks/node_modules_1_-az43._.js.map +0 -1
- package/.next/server/chunks/node_modules_1t2pqct._.js +0 -10
- package/.next/server/chunks/node_modules_1t2pqct._.js.map +0 -1
- package/.next/server/chunks/node_modules_next_08s853w._.js +0 -13
- package/.next/server/chunks/node_modules_next_08s853w._.js.map +0 -1
- package/.next/server/chunks/node_modules_node-fetch_src_index_1gf-_pn.js +0 -3
- package/.next/server/chunks/node_modules_node-fetch_src_index_1gf-_pn.js.map +0 -1
- package/.next/server/chunks/ssr/[externals]__1l0bqbz._.js +0 -3
- package/.next/server/chunks/ssr/[externals]__1l0bqbz._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__06ync7f._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__06ync7f._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0hml-pd._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0hml-pd._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ntia6u._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ntia6u._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sdpd0o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0sdpd0o._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0w2pa_y._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__0w2pa_y._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__10y0-wv._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__10y0-wv._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__11_7weu._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__11_7weu._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1_stkwn._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1_stkwn._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1k6ey-q._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1k6ey-q._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1la73u1._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1la73u1._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1nshnxm._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1nshnxm._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1pssg49._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1pssg49._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1q6zd30._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1q6zd30._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1qlmg27._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1qlmg27._.js.map +0 -1
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -903
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +0 -11
- package/.next/server/chunks/ssr/_01pksvc._.js +0 -78
- package/.next/server/chunks/ssr/_01pksvc._.js.map +0 -1
- package/.next/server/chunks/ssr/_03lgii8._.js +0 -3
- package/.next/server/chunks/ssr/_03lgii8._.js.map +0 -1
- package/.next/server/chunks/ssr/_05tft_r._.js +0 -3
- package/.next/server/chunks/ssr/_05tft_r._.js.map +0 -1
- package/.next/server/chunks/ssr/_06gt995._.js +0 -3
- package/.next/server/chunks/ssr/_06gt995._.js.map +0 -1
- package/.next/server/chunks/ssr/_0jrh37c._.js +0 -46
- package/.next/server/chunks/ssr/_0jrh37c._.js.map +0 -1
- package/.next/server/chunks/ssr/_0kw6yq_._.js +0 -3
- package/.next/server/chunks/ssr/_0kw6yq_._.js.map +0 -1
- package/.next/server/chunks/ssr/_0l3c05z._.js +0 -3
- package/.next/server/chunks/ssr/_0l3c05z._.js.map +0 -1
- package/.next/server/chunks/ssr/_0n-ojw-._.js +0 -3
- package/.next/server/chunks/ssr/_0n-ojw-._.js.map +0 -1
- package/.next/server/chunks/ssr/_0t6a1ln._.js +0 -6
- package/.next/server/chunks/ssr/_0t6a1ln._.js.map +0 -1
- package/.next/server/chunks/ssr/_0td-xk-._.js +0 -3
- package/.next/server/chunks/ssr/_0td-xk-._.js.map +0 -1
- package/.next/server/chunks/ssr/_0y92f-y._.js +0 -46
- package/.next/server/chunks/ssr/_0y92f-y._.js.map +0 -1
- package/.next/server/chunks/ssr/_1b6au28._.js +0 -3
- package/.next/server/chunks/ssr/_1b6au28._.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_page_actions_1gxdy57.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_page_actions_1gxdy57.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_session_[name]_page_actions_115d_ja.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_session_[name]_page_actions_115d_ja.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_settings_key_page_actions_1jsc3or.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_settings_key_page_actions_1jsc3or.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_record-test_page_actions_0a_yofw.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_record-test_page_actions_0a_yofw.js.map +0 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_styleguide_page_actions_174h7x7.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_styleguide_page_actions_174h7x7.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_0el53_h._.js +0 -10
- package/.next/server/chunks/ssr/node_modules_0el53_h._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_0h91jdk._.js +0 -33
- package/.next/server/chunks/ssr/node_modules_0h91jdk._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_1fxqp22._.js +0 -10
- package/.next/server/chunks/ssr/node_modules_1fxqp22._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_1loo6j7._.js +0 -6
- package/.next/server/chunks/ssr/node_modules_1loo6j7._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_1pvqj0r._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1pvqj0r._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +0 -6
- package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_172hvm-._.js +0 -19
- package/.next/server/chunks/ssr/node_modules_next_dist_172hvm-._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_q50sh.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_q50sh.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_xbpm0.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_xbpm0.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_119i6eu.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_119i6eu.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14nl2rs.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14nl2rs.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18u8k23.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18u8k23.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_iwj0a.js +0 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_iwj0a.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_node-fetch_src_index_1e0t9p6.js +0 -3
- package/.next/server/chunks/ssr/node_modules_node-fetch_src_index_1e0t9p6.js.map +0 -1
- package/.next/server/chunks/ssr/src_19oqe9t._.js +0 -3
- package/.next/server/chunks/ssr/src_19oqe9t._.js.map +0 -1
- package/.next/server/chunks/ssr/src_app_record-test_page_tsx_08-2bld._.js +0 -9
- package/.next/server/chunks/ssr/src_app_record-test_page_tsx_08-2bld._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_app-sidebar_tsx_1xx2k53._.js +0 -3
- package/.next/server/chunks/ssr/src_components_app-sidebar_tsx_1xx2k53._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_settings_key-setup_tsx_0jxhnpa._.js +0 -3
- package/.next/server/chunks/ssr/src_components_settings_key-setup_tsx_0jxhnpa._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_ui_0lq7ewx._.js +0 -3
- package/.next/server/chunks/ssr/src_components_ui_0lq7ewx._.js.map +0 -1
- package/.next/static/CIZxngYjzUw1Kb0KrE473/_buildManifest.js +0 -11
- package/.next/static/CIZxngYjzUw1Kb0KrE473/_clientMiddlewareManifest.js +0 -1
- package/.next/static/chunks/05-c3ty_6dwfk.js +0 -1
- package/.next/static/chunks/07-hzktxqjvzd.js +0 -4
- package/.next/static/chunks/09bn0buuu6k2x.js +0 -1
- package/.next/static/chunks/0kkimqpuecvfn.js +0 -1
- package/.next/static/chunks/0mk1g55o6kl1e.js +0 -2
- package/.next/static/chunks/0ul837-9k0zx_.js +0 -63
- package/.next/static/chunks/0wpges32btt_p.js +0 -1
- package/.next/static/chunks/18qo-4_hfuwko.js +0 -1
- package/.next/static/chunks/1_dsevxz78b97.js +0 -1
- package/.next/static/chunks/2-oqhnxovgl_2.js +0 -44
- package/.next/static/chunks/2et_7fxuzt9cq.js +0 -31
- package/.next/static/chunks/2im7c515bo69p.js +0 -1
- package/.next/static/chunks/2merpuxt1zcvf.js +0 -1
- package/.next/static/chunks/2qb8lge1e2sv2.js +0 -1
- package/.next/static/chunks/2sj0gufu0lojq.css +0 -3
- package/.next/static/chunks/2zloaj9ja_vpy.js +0 -1
- package/.next/static/chunks/3rvy2rc9d_hwt.js +0 -1
- package/.next/static/chunks/3uci2qhsbp444.js +0 -50
- package/.next/static/chunks/3yao5u25-bf0g.js +0 -1
- package/.next/static/chunks/41_0qs6kjmoek.js +0 -1
- package/.next/static/chunks/4395sbjm36lbl.js +0 -1
- package/.next/static/chunks/turbopack-2cevjmbuh84ft.js +0 -1
- package/.next/static/media/icon.2_sgat73yt9an.svg +0 -7
- package/.next/trace +0 -1
- package/.next/trace-build +0 -1
- package/.next/turbopack +0 -0
- /package/.next/{server/app/(app)/page/react-loadable-manifest.json → react-loadable-manifest.json} +0 -0
- /package/.next/static/{CIZxngYjzUw1Kb0KrE473 → FExJe2q2O67X3zxf-SYQ_}/_ssgManifest.js +0 -0
- /package/.next/static/chunks/{0cz1d0mv5g_q7.js → polyfills-42372ed130431b0a.js} +0 -0
- /package/.next/static/media/{5ce348bf30bf5439-s.31988l_ccedte.woff2 → 013b72fa676f92e0-s.woff2} +0 -0
- /package/.next/static/media/{5476f68d60460930-s.2uwcyprjm3xu3.woff2 → 19cfc7226ec3afaa-s.woff2} +0 -0
- /package/.next/static/media/{9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 → 21350d82a1f187e9-s.woff2} +0 -0
- /package/.next/static/media/{bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 → 2b5b02fc7e511755-s.woff2} +0 -0
- /package/.next/static/media/{6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 → 65f03d54ccadf4a8-s.woff2} +0 -0
- /package/.next/static/media/{797e433ab948586e-s.p.0r6juujl39pe6.woff2 → 7d4881bb7e1bf84d-s.p.woff2} +0 -0
- /package/.next/static/media/{1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 → 8e9860b6e62d6359-s.woff2} +0 -0
- /package/.next/static/media/{4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 → b9408752a0c24fb9-s.woff2} +0 -0
- /package/.next/static/media/{2c55a0e60120577a-s.0-dom-5bn10r2.woff2 → ba9851c3c22cd980-s.woff2} +0 -0
- /package/.next/static/media/{ad66f9afd8947f86-s.3lvt2whj97whp.woff2 → c5fe6dc8356a8c31-s.woff2} +0 -0
- /package/.next/static/media/{2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 → df0a9ae256c0569c-s.woff2} +0 -0
- /package/.next/static/media/{7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 → e038a29029a234f2-s.woff2} +0 -0
- /package/.next/static/media/{83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 → e4af272ccee01ff0-s.p.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="inter_7b064e0d-module__MOT0tq__variable geist_mono_1bf8cbf6-module__FlyLvG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/2sj0gufu0lojq.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/2et_7fxuzt9cq.js"/><script src="/_next/static/chunks/07-hzktxqjvzd.js" async=""></script><script src="/_next/static/chunks/3yao5u25-bf0g.js" async=""></script><script src="/_next/static/chunks/0mk1g55o6kl1e.js" async=""></script><script src="/_next/static/chunks/turbopack-2cevjmbuh84ft.js" async=""></script><script src="/_next/static/chunks/2zloaj9ja_vpy.js" async=""></script><script src="/_next/static/chunks/2im7c515bo69p.js" async=""></script><script src="/_next/static/chunks/0wpges32btt_p.js" async=""></script><script src="/_next/static/chunks/4395sbjm36lbl.js" async=""></script><script src="/_next/static/chunks/0kkimqpuecvfn.js" async=""></script><script src="/_next/static/chunks/2qb8lge1e2sv2.js" async=""></script><meta name="next-size-adjust" content=""/><title>Styleguide — Vellum</title><meta name="description" content="Local-first design review recorder and analyzer."/><link rel="icon" href="/icon.svg?icon.2_sgat73yt9an.svg" sizes="any" type="image/svg+xml"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="min-h-full"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,false,true)</script><div class="mx-auto min-h-svh max-w-5xl px-6 pb-24"><header class="sticky top-0 z-10 -mx-6 mb-2 flex flex-col gap-3 border-b border-border bg-background/80 px-6 py-4 backdrop-blur-sm sm:flex-row sm:items-center sm:justify-between"><div><h1 class="text-sm font-semibold tracking-tight">Vellum Styleguide</h1><p class="text-xs text-muted-foreground">Component workbench · dark-only · monochrome (ADR-004)</p></div><nav class="flex flex-wrap gap-1"><a href="#color" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Color</a><a href="#type" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Type</a><a href="#spacing" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Spacing</a><a href="#radius" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Radius</a><a href="#components" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Components</a><a href="#workspace" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Workspace</a></nav></header><section id="color" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Color</h2><p class="mt-1 text-sm text-muted-foreground">Strictly monochrome. Hierarchy comes from contrast, never hue. The surface ramp is the source of truth; semantic tokens alias onto it.</p></div><h3 class="mb-3 text-xs font-medium text-muted-foreground">Surface ramp</h3><div class="grid grid-cols-2 gap-3 sm:grid-cols-4 lg:grid-cols-6"><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-1)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-1</div><div class="font-mono text-[0.7rem] text-muted-foreground">app background</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-2)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-2</div><div class="font-mono text-[0.7rem] text-muted-foreground">raised surface / card</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-3)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-3</div><div class="font-mono text-[0.7rem] text-muted-foreground">sidebar / inset</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-4)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-4</div><div class="font-mono text-[0.7rem] text-muted-foreground">hover / muted fill</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-5)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-5</div><div class="font-mono text-[0.7rem] text-muted-foreground">pressed / active</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-6)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-6</div><div class="font-mono text-[0.7rem] text-muted-foreground">strong border</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-7)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-7</div><div class="font-mono text-[0.7rem] text-muted-foreground">—</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-8)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-8</div><div class="font-mono text-[0.7rem] text-muted-foreground">disabled foreground</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-9)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-9</div><div class="font-mono text-[0.7rem] text-muted-foreground">focus ring / placeholder</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-10)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-10</div><div class="font-mono text-[0.7rem] text-muted-foreground">—</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-11)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-11</div><div class="font-mono text-[0.7rem] text-muted-foreground">muted foreground</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-12)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-12</div><div class="font-mono text-[0.7rem] text-muted-foreground">foreground</div></div></div></div><h3 class="mt-10 mb-3 text-xs font-medium text-muted-foreground">Semantic tokens</h3><div class="grid grid-cols-2 gap-3 sm:grid-cols-4"><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--background);color:var(--foreground)"><span class="font-mono text-xs">background</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--card);color:var(--card-foreground)"><span class="font-mono text-xs">card</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--popover);color:var(--popover-foreground)"><span class="font-mono text-xs">popover</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--primary);color:var(--primary-foreground)"><span class="font-mono text-xs">primary</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--secondary);color:var(--secondary-foreground)"><span class="font-mono text-xs">secondary</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--muted);color:var(--muted-foreground)"><span class="font-mono text-xs">muted</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--accent);color:var(--accent-foreground)"><span class="font-mono text-xs">accent</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--destructive);color:var(--background)"><span class="font-mono text-xs">destructive</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div></div></section><section id="type" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Typography</h2><p class="mt-1 text-sm text-muted-foreground">Inter for UI, Geist Mono for timestamps and code. No editorial serif.</p></div><div class="space-y-5"><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-3xl font-semibold tracking-tight">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">3xl · semibold</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-2xl font-semibold tracking-tight">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">2xl · semibold</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-xl font-medium">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">xl · medium</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-lg font-medium">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">lg · medium</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-base">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">base · regular</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-sm">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">sm · regular (UI default)</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-xs text-muted-foreground">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">xs · muted (labels)</span></div></div><div class="mt-10 rounded-lg border border-border bg-card p-5"><h3 class="mb-3 text-xs font-medium text-muted-foreground">Geist Mono — timestamps & code</h3><div class="space-y-2 font-mono text-sm"><p><span class="tabular-nums">00:03:42</span><span class="text-muted-foreground"> → screenshot_timestamp</span></p><p class="text-muted-foreground">const result = await analyze(fileUri);</p></div></div></section><section id="spacing" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Spacing</h2><p class="mt-1 text-sm text-muted-foreground">4px base unit (Tailwind's default scale). Density is Linear-like — dense, restrained whitespace.</p></div><div class="space-y-3"><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">1</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 1)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">4<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">2</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 2)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">8<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">3</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 3)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">12<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">4</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 4)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">16<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">6</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 6)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">24<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">8</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 8)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">32<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">12</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 12)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">48<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">16</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 16)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">64<!-- -->px</span></div></div></section><section id="radius" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Radius</h2><p class="mt-1 text-sm text-muted-foreground">Base radius is 0.5rem (8px) — tighter than the shadcn default, closer to Linear.</p></div><div class="flex flex-wrap gap-6"><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-sm"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">sm</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-md"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">md</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-lg"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">lg</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-xl"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">xl</span></div></div></section><section id="components" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Components</h2><p class="mt-1 text-sm text-muted-foreground">shadcn primitives reading the Vellum tokens, shown in their key states.</p></div><h3 class="mb-4 text-xs font-medium text-muted-foreground">Button · variants</h3><div class="flex flex-wrap items-center gap-3"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Default</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Secondary</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Outline</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Ghost</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Destructive</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 text-primary underline-offset-4 hover:underline h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Link</button></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Button · states</h3><div class="flex flex-wrap gap-6"><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">default</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 bg-primary/80">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">hover</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 translate-y-px bg-primary/80">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">active</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 border-ring ring-3 ring-ring/50">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">focus</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" data-disabled="" tabindex="0" disabled="" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">disabled</span></div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Input · states</h3><div class="grid max-w-2xl grid-cols-1 gap-5 sm:grid-cols-2"><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-default">Default</label><input id="sg-default" data-slot="input" placeholder="Session name" class="h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"/></div><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-focus">Focus</label><input id="sg-focus" data-slot="input" placeholder="Session name" class="h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 border-ring ring-3 ring-ring/50"/></div><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-disabled">Disabled</label><input data-disabled="" id="sg-disabled" disabled="" data-slot="input" placeholder="Session name" class="h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"/></div><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-invalid">Invalid</label><input id="sg-invalid" data-slot="input" placeholder="Session name" aria-invalid="true" class="h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"/></div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Tabs</h3><div data-orientation="horizontal" data-activation-direction="none" data-slot="tabs" class="group/tabs flex gap-2 data-horizontal:flex-col max-w-md"><div data-orientation="horizontal" data-activation-direction="none" role="tablist" data-slot="tabs-list" data-variant="default" class="group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none bg-muted"><button type="button" data-active="" data-orientation="horizontal" data-activation-direction="none" aria-disabled="false" tabindex="-1" role="tab" aria-selected="true" id="base-ui-_R_5hclubtb_" data-composite-item-active="" data-slot="tabs-trigger" class="relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100">Overview</button><button type="button" data-orientation="horizontal" data-activation-direction="none" aria-disabled="false" tabindex="-1" role="tab" aria-selected="false" id="base-ui-_R_9hclubtb_" data-slot="tabs-trigger" class="relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100">Tasks</button><button type="button" data-disabled="" data-orientation="horizontal" data-activation-direction="none" aria-disabled="true" tabindex="-1" role="tab" aria-selected="false" id="base-ui-_R_dhclubtb_" data-slot="tabs-trigger" class="relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100">Disabled</button></div><div data-orientation="horizontal" data-activation-direction="none" id="base-ui-_R_2hclubtb_" role="tabpanel" tabindex="0" data-index="-1" data-slot="tabs-content" class="flex-1 outline-none text-sm text-muted-foreground">Overview panel content.</div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Card</h3><div data-slot="card" data-size="default" class="group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl max-w-sm"><div data-slot="card-header" class="group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)"><div data-slot="card-title" class="font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm">Onboarding review</div><div data-slot="card-description" class="text-sm text-muted-foreground">12 tasks · 24 min · ui_design</div></div><div data-slot="card-content" class="px-(--card-spacing) text-muted-foreground">A representative session card — structure only.</div><div data-slot="card-footer" class="flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing) gap-2"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/80 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5">Open</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5">Rename</button></div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Separator · Skeleton · Dialog</h3><div class="flex max-w-md flex-col gap-6"><div><p class="text-sm">Above</p><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch my-3"></div><p class="text-sm text-muted-foreground">Below</p></div><div class="flex items-center gap-3"><div data-slot="skeleton" class="animate-pulse bg-muted size-10 rounded-lg"></div><div class="flex flex-1 flex-col gap-2"><div data-slot="skeleton" class="animate-pulse rounded-md bg-muted h-3 w-2/3"></div><div data-slot="skeleton" class="animate-pulse rounded-md bg-muted h-3 w-1/3"></div></div></div><button type="button" tabindex="0" data-slot="button" data-base-ui-click-trigger="" id="base-ui-_R_1npclubtb_" aria-haspopup="dialog" aria-expanded="false" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-fit">Open dialog</button></div></section><section id="workspace" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Workspace onboarding</h2><p class="mt-1 text-sm text-muted-foreground">First-run gate screens (TASK-15). Shown full-screen by WorkspaceProvider; framed here for review, with no handlers wired.</p></div><div class="grid gap-6"><div class="flex flex-col gap-2"><div class="h-[560px] overflow-hidden rounded-lg border border-border"><div class="flex h-full w-full items-center justify-center bg-background p-6"><div class="w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out"><div class="mb-8 flex items-center"><svg viewBox="0 0 122 16" class="w-auto text-foreground h-[21px]" fill="currentColor" role="img" aria-label="Vellum" xmlns="http://www.w3.org/2000/svg"><g class="origin-center transition-transform duration-500 ease-out motion-reduce:transition-none" style="transform-box:fill-box;transform:rotate(0deg)"><path d="M6.50391 3.5H9.50391V1H12.5039V3.5H15.0039V6.5H12.5039V9.5H15.0039V12.5H12.5039V15H9.50391V12.5H6.50391V15H3.50391V12.5H1.00391V9.5H3.50391V6.5H1.00391V3.5H3.50391V1H6.50391V3.5ZM6.50391 9.5H9.50391V6.5H6.50391V9.5Z"></path></g><path d="M86.7959 7.94043C86.7959 9.45243 87.2643 11.4512 90.4863 11.4512H90.5762C93.78 11.4511 94.2119 9.4524 94.2119 7.94043V1.40723H98.4961V7.99512C98.496 10.6591 97.6497 14.9971 90.792 14.9971H90.2695C83.1422 14.9969 82.5118 10.6411 82.5117 7.99512V1.40723H86.7959V7.94043ZM27.3057 10.9473L31.5176 1.40723H36.0898L29.9697 14.7988H24.498L18.1084 1.40723H23.0938L27.3057 10.9473ZM50.6113 4.48438H42.043V6.42871H50.3418V9.61523H42.043V11.6846H50.7197V14.7988H37.7773V1.40723H50.6113V4.48438ZM57.8643 11.3066H65.9648V14.7988H53.5625V1.40723H57.8643V11.3066ZM72.7354 11.3066H80.8359V14.7988H68.4336V1.40723H72.7354V11.3066ZM111.343 9.74121L115.374 1.40723H120.918V14.7988H116.706V6.24902L112.692 14.7988H109.704L105.708 6.24902V14.7988H101.568V1.40723H107.4L111.343 9.74121Z"></path></svg></div><div class="flex size-9 items-center justify-center rounded-lg border border-border bg-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open size-5" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg></div><h1 class="mt-4 text-lg font-medium tracking-tight">Choose a workspace folder</h1><p class="mt-1.5 text-sm text-muted-foreground">Vellum keeps every recording, report, and screenshot inside one folder you choose. Pick an empty folder to start.</p><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg>Choose folder…</button><div class="mt-8 flex gap-3 rounded-lg border border-border bg-card p-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check mt-0.5 size-4 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><p class="text-xs leading-relaxed text-muted-foreground">Everything stays on your machine. Recordings and reports are written to this folder and never leave it. The only data sent out is the video itself — uploaded to the Google Gemini API under your own key for analysis. No backend, no telemetry, no account.</p></div></div></div></div><span class="font-mono text-[0.7rem] text-muted-foreground">onboarding (first run)</span></div><div class="flex flex-col gap-2"><div class="h-[560px] overflow-hidden rounded-lg border border-border"><div class="flex h-full w-full items-center justify-center bg-background p-6"><div class="w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out"><div class="mb-8 flex items-center"><svg viewBox="0 0 122 16" class="w-auto text-foreground h-[21px]" fill="currentColor" role="img" aria-label="Vellum" xmlns="http://www.w3.org/2000/svg"><g class="origin-center transition-transform duration-500 ease-out motion-reduce:transition-none" style="transform-box:fill-box;transform:rotate(0deg)"><path d="M6.50391 3.5H9.50391V1H12.5039V3.5H15.0039V6.5H12.5039V9.5H15.0039V12.5H12.5039V15H9.50391V12.5H6.50391V15H3.50391V12.5H1.00391V9.5H3.50391V6.5H1.00391V3.5H3.50391V1H6.50391V3.5ZM6.50391 9.5H9.50391V6.5H6.50391V9.5Z"></path></g><path d="M86.7959 7.94043C86.7959 9.45243 87.2643 11.4512 90.4863 11.4512H90.5762C93.78 11.4511 94.2119 9.4524 94.2119 7.94043V1.40723H98.4961V7.99512C98.496 10.6591 97.6497 14.9971 90.792 14.9971H90.2695C83.1422 14.9969 82.5118 10.6411 82.5117 7.99512V1.40723H86.7959V7.94043ZM27.3057 10.9473L31.5176 1.40723H36.0898L29.9697 14.7988H24.498L18.1084 1.40723H23.0938L27.3057 10.9473ZM50.6113 4.48438H42.043V6.42871H50.3418V9.61523H42.043V11.6846H50.7197V14.7988H37.7773V1.40723H50.6113V4.48438ZM57.8643 11.3066H65.9648V14.7988H53.5625V1.40723H57.8643V11.3066ZM72.7354 11.3066H80.8359V14.7988H68.4336V1.40723H72.7354V11.3066ZM111.343 9.74121L115.374 1.40723H120.918V14.7988H116.706V6.24902L112.692 14.7988H109.704L105.708 6.24902V14.7988H101.568V1.40723H107.4L111.343 9.74121Z"></path></svg></div><div class="flex size-9 items-center justify-center rounded-lg border border-border bg-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock size-5" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></div><h1 class="mt-4 text-lg font-medium tracking-tight">Confirm workspace access</h1><p class="mt-1.5 text-sm text-muted-foreground">Your browser needs permission to reopen<!-- --> <span class="font-medium text-foreground">design-reviews</span>. This is a routine confirmation after a restart — nothing has changed.</p><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full">Confirm access</button></div></div></div><span class="font-mono text-[0.7rem] text-muted-foreground">needs-permission (soft re-grant after restart)</span></div><div class="flex flex-col gap-2"><div class="h-[560px] overflow-hidden rounded-lg border border-border"><div class="flex h-full w-full items-center justify-center bg-background p-6"><div class="w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out"><div class="mb-8 flex items-center"><svg viewBox="0 0 122 16" class="w-auto text-foreground h-[21px]" fill="currentColor" role="img" aria-label="Vellum" xmlns="http://www.w3.org/2000/svg"><g class="origin-center transition-transform duration-500 ease-out motion-reduce:transition-none" style="transform-box:fill-box;transform:rotate(0deg)"><path d="M6.50391 3.5H9.50391V1H12.5039V3.5H15.0039V6.5H12.5039V9.5H15.0039V12.5H12.5039V15H9.50391V12.5H6.50391V15H3.50391V12.5H1.00391V9.5H3.50391V6.5H1.00391V3.5H3.50391V1H6.50391V3.5ZM6.50391 9.5H9.50391V6.5H6.50391V9.5Z"></path></g><path d="M86.7959 7.94043C86.7959 9.45243 87.2643 11.4512 90.4863 11.4512H90.5762C93.78 11.4511 94.2119 9.4524 94.2119 7.94043V1.40723H98.4961V7.99512C98.496 10.6591 97.6497 14.9971 90.792 14.9971H90.2695C83.1422 14.9969 82.5118 10.6411 82.5117 7.99512V1.40723H86.7959V7.94043ZM27.3057 10.9473L31.5176 1.40723H36.0898L29.9697 14.7988H24.498L18.1084 1.40723H23.0938L27.3057 10.9473ZM50.6113 4.48438H42.043V6.42871H50.3418V9.61523H42.043V11.6846H50.7197V14.7988H37.7773V1.40723H50.6113V4.48438ZM57.8643 11.3066H65.9648V14.7988H53.5625V1.40723H57.8643V11.3066ZM72.7354 11.3066H80.8359V14.7988H68.4336V1.40723H72.7354V11.3066ZM111.343 9.74121L115.374 1.40723H120.918V14.7988H116.706V6.24902L112.692 14.7988H109.704L105.708 6.24902V14.7988H101.568V1.40723H107.4L111.343 9.74121Z"></path></svg></div><div class="flex size-9 items-center justify-center rounded-lg border border-border bg-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-x size-5" aria-hidden="true"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path><path d="m9.5 10.5 5 5"></path><path d="m14.5 10.5-5 5"></path></svg></div><h1 class="mt-4 text-lg font-medium tracking-tight">Workspace unavailable</h1><p class="mt-1.5 text-sm text-muted-foreground">We couldn’t find<!-- --> <span class="font-medium text-foreground">design-reviews</span>. It may have been moved, renamed, or deleted. Choose a workspace folder to continue.</p><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg>Choose folder…</button></div></div></div><span class="font-mono text-[0.7rem] text-muted-foreground">unavailable (folder moved / deleted)</span></div></div></section></div><!--$--><!--/$--><script src="/_next/static/chunks/2et_7fxuzt9cq.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[27423,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"ThemeProvider\"]\n3:I[46798,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"TooltipProvider\"]\n4:I[39756,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"default\"]\n11:I[68027,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/2sj0gufu0lojq.css\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"styleguide\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"styleguide\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2sj0gufu0lojq.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/2im7c515bo69p.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0wpges32btt_p.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/4395sbjm36lbl.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"inter_7b064e0d-module__MOT0tq__variable geist_mono_1bf8cbf6-module__FlyLvG__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"mx-auto min-h-svh max-w-5xl px-6 pb-24\",\"children\":[[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-10 -mx-6 mb-2 flex flex-col gap-3 border-b border-border bg-background/80 px-6 py-4 backdrop-blur-sm sm:flex-row sm:items-center sm:justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-sm font-semibold tracking-tight\",\"children\":\"Vellum Styleguide\"}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"Component workbench · dark-only · monochrome (ADR-004)\"}]]}],[\"$\",\"nav\",null,{\"className\":\"flex flex-wrap gap-1\",\"children\":[[\"$\",\"a\",\"#color\",{\"href\":\"#color\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Color\"}],[\"$\",\"a\",\"#type\",{\"href\":\"#type\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Type\"}],[\"$\",\"a\",\"#spacing\",{\"href\":\"#spacing\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Spacing\"}],[\"$\",\"a\",\"#radius\",{\"href\":\"#radius\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Radius\"}],[\"$\",\"a\",\"#components\",{\"href\":\"#components\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Components\"}],[\"$\",\"a\",\"#workspace\",{\"href\":\"#workspace\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Workspace\"}]]}]]}],\"$L6\",\"$L7\",\"$L8\",\"$L9\",\"$La\",\"$Lb\"]}],[\"$Lc\",\"$Ld\"],\"$Le\"]}],{},null,false,null]},null,false,\"$@f\"]},null,false,null],\"$L10\",false]],\"m\":\"$undefined\",\"G\":[\"$11\",[\"$L12\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"CIZxngYjzUw1Kb0KrE473\"}\n"])</script><script>self.__next_f.push([1,"18:I[27930,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"Button\"]\n25:I[88760,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"Logo\"]\n26:I[5014,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"default\"]\n2a:I[97367,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"OutletBoundary\"]\n2b:\"$Sreact.suspense\"\n2e:I[97367,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"ViewportBoundary\"]\n30:I[97367,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"MetadataBoundary\"]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"section\",null,{\"id\":\"color\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Color\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"Strictly monochrome. Hierarchy comes from contrast, never hue. The surface ramp is the source of truth; semantic tokens alias onto it.\"}]]}],[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-xs font-medium text-muted-foreground\",\"children\":\"Surface ramp\"}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-3 sm:grid-cols-4 lg:grid-cols-6\",\"children\":[[\"$\",\"div\",\"gray-1\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-1)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-1\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"app background\"}]]}]]}],[\"$\",\"div\",\"gray-2\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-2)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-2\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"raised surface / card\"}]]}]]}],[\"$\",\"div\",\"gray-3\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-3)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-3\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"sidebar / inset\"}]]}]]}],[\"$\",\"div\",\"gray-4\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-4)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-4\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"hover / muted fill\"}]]}]]}],[\"$\",\"div\",\"gray-5\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-5)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-5\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"pressed / active\"}]]}]]}],[\"$\",\"div\",\"gray-6\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-6)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-6\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"strong border\"}]]}]]}],[\"$\",\"div\",\"gray-7\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-7)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-7\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"—\"}]]}]]}],[\"$\",\"div\",\"gray-8\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-8)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-8\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"disabled foreground\"}]]}]]}],[\"$\",\"div\",\"gray-9\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-9)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-9\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"focus ring / placeholder\"}]]}]]}],\"$L13\",\"$L14\",\"$L15\"]}],\"$L16\",\"$L17\"]]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"section\",null,{\"id\":\"type\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Typography\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"Inter for UI, Geist Mono for timestamps and code. No editorial serif.\"}]]}],[[\"$\",\"div\",null,{\"className\":\"space-y-5\",\"children\":[[\"$\",\"div\",\"3xl · semibold\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-3xl font-semibold tracking-tight\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"3xl · semibold\"}]]}],[\"$\",\"div\",\"2xl · semibold\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-2xl font-semibold tracking-tight\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"2xl · semibold\"}]]}],[\"$\",\"div\",\"xl · medium\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xl font-medium\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"xl · medium\"}]]}],[\"$\",\"div\",\"lg · medium\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-lg font-medium\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"lg · medium\"}]]}],[\"$\",\"div\",\"base · regular\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-base\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"base · regular\"}]]}],[\"$\",\"div\",\"sm · regular (UI default)\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"sm · regular (UI default)\"}]]}],[\"$\",\"div\",\"xs · muted (labels)\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"xs · muted (labels)\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-10 rounded-lg border border-border bg-card p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-xs font-medium text-muted-foreground\",\"children\":\"Geist Mono — timestamps \u0026 code\"}],[\"$\",\"div\",null,{\"className\":\"space-y-2 font-mono text-sm\",\"children\":[[\"$\",\"p\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"00:03:42\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\" → screenshot_timestamp\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":\"const result = await analyze(fileUri);\"}]]}]]}]]]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"section\",null,{\"id\":\"spacing\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Spacing\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"4px base unit (Tailwind's default scale). Density is Linear-like — dense, restrained whitespace.\"}]]}],[\"$\",\"div\",null,{\"className\":\"space-y-3\",\"children\":[[\"$\",\"div\",\"1\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":1}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 1)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[4,\"px\"]}]]}],[\"$\",\"div\",\"2\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":2}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 2)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[8,\"px\"]}]]}],[\"$\",\"div\",\"3\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":3}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 3)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[12,\"px\"]}]]}],[\"$\",\"div\",\"4\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":4}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 4)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[16,\"px\"]}]]}],[\"$\",\"div\",\"6\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":6}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 6)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[24,\"px\"]}]]}],[\"$\",\"div\",\"8\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":8}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 8)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[32,\"px\"]}]]}],[\"$\",\"div\",\"12\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":12}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 12)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[48,\"px\"]}]]}],[\"$\",\"div\",\"16\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":16}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 16)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[64,\"px\"]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"section\",null,{\"id\":\"radius\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Radius\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"Base radius is 0.5rem (8px) — tighter than the shadcn default, closer to Linear.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-6\",\"children\":[[\"$\",\"div\",\"sm\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-sm\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"sm\"}]]}],[\"$\",\"div\",\"md\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-md\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"md\"}]]}],[\"$\",\"div\",\"lg\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-lg\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"lg\"}]]}],[\"$\",\"div\",\"xl\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-xl\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"xl\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"section\",null,{\"id\":\"components\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Components\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"shadcn primitives reading the Vellum tokens, shown in their key states.\"}]]}],[[\"$\",\"h3\",null,{\"className\":\"mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Button · variants\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3\",\"children\":[[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Default\"}],[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Secondary\"}],[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Outline\"}],[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Ghost\"}],\"$L19\",\"$L1a\"]}],\"$L1b\",\"$L1c\",\"$L1d\",\"$L1e\",\"$L1f\",\"$L20\",\"$L21\",\"$L22\",\"$L23\",\"$L24\"]]}]\n"])</script><script>self.__next_f.push([1,"b:[\"$\",\"section\",null,{\"id\":\"workspace\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Workspace onboarding\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"First-run gate screens (TASK-15). Shown full-screen by WorkspaceProvider; framed here for review, with no handlers wired.\"}]]}],[\"$\",\"div\",null,{\"className\":\"grid gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-[560px] overflow-hidden rounded-lg border border-border\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-full w-full items-center justify-center bg-background p-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 flex items-center\",\"children\":[\"$\",\"$L25\",null,{\"className\":\"h-[21px]\"}]}],[\"$\",\"div\",null,{\"className\":\"flex size-9 items-center justify-center rounded-lg border border-border bg-card\",\"children\":[\"$\",\"$L26\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\",\"key\":\"usdka0\"}]],\"className\":\"lucide-folder-open size-5\",\"strokeWidth\":1.5}]}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-lg font-medium tracking-tight\",\"children\":\"Choose a workspace folder\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-muted-foreground\",\"children\":\"Vellum keeps every recording, report, and screenshot inside one folder you choose. Pick an empty folder to start.\"}],[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full\",\"onClick\":\"$undefined\",\"children\":[[\"$\",\"$L26\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$b:props:children:1:props:children:0:props:children:0:props:children:props:children:props:children:1:props:children:props:iconNode\",\"className\":\"lucide-folder-open\"}],\"Choose folder…\"]}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex gap-3 rounded-lg border border-border bg-card p-4\",\"children\":[[\"$\",\"$L26\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\"key\":\"oel41y\"}],[\"path\",{\"d\":\"m9 12 2 2 4-4\",\"key\":\"dzmm74\"}]],\"className\":\"lucide-shield-check mt-0.5 size-4 shrink-0 text-muted-foreground\",\"strokeWidth\":1.5}],[\"$\",\"p\",null,{\"className\":\"text-xs leading-relaxed text-muted-foreground\",\"children\":\"Everything stays on your machine. Recordings and reports are written to this folder and never leave it. The only data sent out is the video itself — uploaded to the Google Gemini API under your own key for analysis. No backend, no telemetry, no account.\"}]]}]]}]}]}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"onboarding (first run)\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-[560px] overflow-hidden rounded-lg border border-border\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-full w-full items-center justify-center bg-background p-6\",\"children\":\"$L27\"}]}],\"$L28\"]}],\"$L29\"]}]]}]\n"])</script><script>self.__next_f.push([1,"c:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0kkimqpuecvfn.js\",\"async\":true,\"nonce\":\"$undefined\"}]\nd:[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/2qb8lge1e2sv2.js\",\"async\":true,\"nonce\":\"$undefined\"}]\ne:[\"$\",\"$L2a\",null,{\"children\":[\"$\",\"$2b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@2c\"}]}]\n2d:[]\nf:\"$W2d\"\n10:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L2e\",null,{\"children\":\"$L2f\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L30\",null,{\"children\":[\"$\",\"$2b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L31\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n12:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2sj0gufu0lojq.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"35:I[10204,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"Label\"]\n36:I[58300,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"Input\"]\n37:I[77572,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"Tabs\"]\n38:I[77572,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"TabsList\"]\n39:I[77572,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"TabsTrigger\"]\n3a:I[77572,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"TabsContent\"]\n3b:I[72436,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"Separator\"]\n3c:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"Dialog\"]\n3d:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"DialogTrigger\"]\n3e:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"DialogContent\"]\n3f:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"DialogHeader\"]\n40:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"DialogTitle\"]\n41:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"DialogDescription\"]\n42:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"DialogFooter\"]\n43:I[76639,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\",\"/_next/static/chunks/0kkimqpuecvfn.js\",\"/_next/static/chunks/2qb8lge1e2sv2.js\"],\"DialogClose\"]\n13:[\"$\",\"div\",\"gray-10\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"clas"])</script><script>self.__next_f.push([1,"sName\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-10)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-10\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"—\"}]]}]]}]\n14:[\"$\",\"div\",\"gray-11\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-11)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-11\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"muted foreground\"}]]}]]}]\n15:[\"$\",\"div\",\"gray-12\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-12)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-12\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"foreground\"}]]}]]}]\n16:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-3 text-xs font-medium text-muted-foreground\",\"children\":\"Semantic tokens\"}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-3 sm:grid-cols-4\",\"children\":[[\"$\",\"div\",\"background\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--background)\",\"color\":\"var(--foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"background\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"card\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--card)\",\"color\":\"var(--card-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"card\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"popover\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--popover)\",\"color\":\"var(--popover-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"popover\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"primary\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--primary)\",\"color\":\"var(--primary-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"primary\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"secondary\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--secondary)\",\"color\":\"var(--secondary-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"secondary\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"muted\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--muted)\",\"color\":\"var(--muted-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"muted\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"accent\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--accent)\",\"color\":\"var(--accent-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"accent\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"destructive\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--destructive)\",\"color\":\"var(--background)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"destructive\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"19:[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Destructive\"}]\n1a:[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-primary underline-offset-4 hover:underline h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Link\"}]\n1b:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Button · states\"}]\n"])</script><script>self.__next_f.push([1,"1c:[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"default\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 bg-primary/80\",\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"hover\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 translate-y-px bg-primary/80\",\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"active\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":\"$L32\"}],\"$L33\"]}],\"$L34\"]}]\n"])</script><script>self.__next_f.push([1,"1d:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Input · states\"}]\n"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"div\",null,{\"className\":\"grid max-w-2xl grid-cols-1 gap-5 sm:grid-cols-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L35\",null,{\"htmlFor\":\"sg-default\",\"children\":\"Default\"}],[\"$\",\"$L36\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\"id\":\"sg-default\",\"placeholder\":\"Session name\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L35\",null,{\"htmlFor\":\"sg-focus\",\"children\":\"Focus\"}],[\"$\",\"$L36\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 border-ring ring-3 ring-ring/50\",\"id\":\"sg-focus\",\"placeholder\":\"Session name\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L35\",null,{\"htmlFor\":\"sg-disabled\",\"children\":\"Disabled\"}],[\"$\",\"$L36\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\"id\":\"sg-disabled\",\"placeholder\":\"Session name\",\"disabled\":true}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L35\",null,{\"htmlFor\":\"sg-invalid\",\"children\":\"Invalid\"}],[\"$\",\"$L36\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\"id\":\"sg-invalid\",\"placeholder\":\"Session name\",\"aria-invalid\":true}]]}]]}]\n"])</script><script>self.__next_f.push([1,"1f:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Tabs\"}]\n20:[\"$\",\"$L37\",null,{\"defaultValue\":\"overview\",\"className\":\"max-w-md\",\"children\":[[\"$\",\"$L38\",null,{\"children\":[[\"$\",\"$L39\",null,{\"value\":\"overview\",\"children\":\"Overview\"}],[\"$\",\"$L39\",null,{\"value\":\"tasks\",\"children\":\"Tasks\"}],[\"$\",\"$L39\",null,{\"value\":\"disabled\",\"disabled\":true,\"children\":\"Disabled\"}]]}],[\"$\",\"$L3a\",null,{\"value\":\"overview\",\"className\":\"text-sm text-muted-foreground\",\"children\":\"Overview panel content.\"}],[\"$\",\"$L3a\",null,{\"value\":\"tasks\",\"className\":\"text-sm text-muted-foreground\",\"children\":\"Tasks panel content.\"}]]}]\n21:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Card\"}]\n"])</script><script>self.__next_f.push([1,"22:[\"$\",\"div\",null,{\"data-slot\":\"card\",\"data-size\":\"default\",\"className\":\"group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[\u003eimg:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl max-w-sm\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"card-header\",\"className\":\"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"card-title\",\"className\":\"font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm\",\"children\":\"Onboarding review\"}],[\"$\",\"div\",null,{\"data-slot\":\"card-description\",\"className\":\"text-sm text-muted-foreground\",\"children\":\"12 tasks · 24 min · ui_design\"}]]}],[\"$\",\"div\",null,{\"data-slot\":\"card-content\",\"className\":\"px-(--card-spacing) text-muted-foreground\",\"children\":\"A representative session card — structure only.\"}],[\"$\",\"div\",null,{\"data-slot\":\"card-footer\",\"className\":\"flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing) gap-2\",\"children\":[[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/80 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [\u0026_svg:not([class*='size-'])]:size-3.5\",\"children\":\"Open\"}],[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [\u0026_svg:not([class*='size-'])]:size-3.5\",\"children\":\"Rename\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"23:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Separator · Skeleton · Dialog\"}]\n"])</script><script>self.__next_f.push([1,"24:[\"$\",\"div\",null,{\"className\":\"flex max-w-md flex-col gap-6\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-sm\",\"children\":\"Above\"}],[\"$\",\"$L3b\",null,{\"className\":\"my-3\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground\",\"children\":\"Below\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"skeleton\",\"className\":\"animate-pulse bg-muted size-10 rounded-lg\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-1 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"skeleton\",\"className\":\"animate-pulse rounded-md bg-muted h-3 w-2/3\"}],[\"$\",\"div\",null,{\"data-slot\":\"skeleton\",\"className\":\"animate-pulse rounded-md bg-muted h-3 w-1/3\"}]]}]]}],[\"$\",\"$L3c\",null,{\"children\":[[\"$\",\"$L3d\",null,{\"render\":[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-fit\"}],\"children\":\"Open dialog\"}],[\"$\",\"$L3e\",null,{\"children\":[[\"$\",\"$L3f\",null,{\"children\":[[\"$\",\"$L40\",null,{\"children\":\"Delete session?\"}],[\"$\",\"$L41\",null,{\"children\":\"This removes the report and screenshots from disk. This cannot be undone.\"}]]}],[\"$\",\"$L42\",null,{\"children\":[[\"$\",\"$L43\",null,{\"render\":[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\"}],\"children\":\"Cancel\"}],[\"$\",\"$L43\",null,{\"render\":[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\"}],\"children\":\"Delete\"}]]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"27:[\"$\",\"div\",null,{\"className\":\"w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 flex items-center\",\"children\":[\"$\",\"$L25\",null,{\"className\":\"h-[21px]\"}]}],[\"$\",\"div\",null,{\"className\":\"flex size-9 items-center justify-center rounded-lg border border-border bg-card\",\"children\":[\"$\",\"$L26\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"rect\",{\"width\":\"18\",\"height\":\"11\",\"x\":\"3\",\"y\":\"11\",\"rx\":\"2\",\"ry\":\"2\",\"key\":\"1w4ew1\"}],[\"path\",{\"d\":\"M7 11V7a5 5 0 0 1 10 0v4\",\"key\":\"fwvmzm\"}]],\"className\":\"lucide-lock size-5\",\"strokeWidth\":1.5}]}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-lg font-medium tracking-tight\",\"children\":\"Confirm workspace access\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-muted-foreground\",\"children\":[\"Your browser needs permission to reopen\",\" \",[\"$\",\"span\",null,{\"className\":\"font-medium text-foreground\",\"children\":\"design-reviews\"}],\". This is a routine confirmation after a restart — nothing has changed.\"]}],[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full\",\"onClick\":\"$undefined\",\"children\":\"Confirm access\"}],\"$undefined\"]}]\n"])</script><script>self.__next_f.push([1,"28:[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"needs-permission (soft re-grant after restart)\"}]\n"])</script><script>self.__next_f.push([1,"29:[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-[560px] overflow-hidden rounded-lg border border-border\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-full w-full items-center justify-center bg-background p-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 flex items-center\",\"children\":[\"$\",\"$L25\",null,{\"className\":\"h-[21px]\"}]}],[\"$\",\"div\",null,{\"className\":\"flex size-9 items-center justify-center rounded-lg border border-border bg-card\",\"children\":[\"$\",\"$L26\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\",\"key\":\"1kt360\"}],[\"path\",{\"d\":\"m9.5 10.5 5 5\",\"key\":\"ra9qjz\"}],[\"path\",{\"d\":\"m14.5 10.5-5 5\",\"key\":\"l2rkpq\"}]],\"className\":\"lucide-folder-x size-5\",\"strokeWidth\":1.5}]}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-lg font-medium tracking-tight\",\"children\":\"Workspace unavailable\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-muted-foreground\",\"children\":[\"We couldn’t find\",\" \",[\"$\",\"span\",null,{\"className\":\"font-medium text-foreground\",\"children\":\"design-reviews\"}],\". It may have been moved, renamed, or deleted. Choose a workspace folder to continue.\"]}],[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full\",\"onClick\":\"$undefined\",\"children\":[[\"$\",\"$L26\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$b:props:children:1:props:children:0:props:children:0:props:children:props:children:props:children:1:props:children:props:iconNode\",\"className\":\"lucide-folder-open\"}],\"Choose folder…\"]}]]}]}]}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"unavailable (folder moved / deleted)\"}]]}]\n"])</script><script>self.__next_f.push([1,"32:[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 border-ring ring-3 ring-ring/50\",\"children\":\"Button\"}]\n33:[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"focus\"}]\n34:[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L18\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"disabled\":true,\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"disabled\"}]]}]\n"])</script><script>self.__next_f.push([1,"2f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"44:I[27201,[\"/_next/static/chunks/2zloaj9ja_vpy.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/0wpges32btt_p.js\",\"/_next/static/chunks/4395sbjm36lbl.js\"],\"IconMark\"]\n2c:null\n31:[[\"$\",\"title\",\"0\",{\"children\":\"Styleguide — Vellum\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first design review recorder and analyzer.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.2_sgat73yt9an.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L44\",\"3\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="__variable_f367f3 __variable_c29908 h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e2905f0858acd77d.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ceb933bd5f77076f.js"/><script src="/_next/static/chunks/4bd1b696-deb4a0a1da1923b0.js" async=""></script><script src="/_next/static/chunks/794-dc751ec6c8c611f8.js" async=""></script><script src="/_next/static/chunks/main-app-39f57c6e6702740e.js" async=""></script><script src="/_next/static/chunks/603-6235d4d53b37035c.js" async=""></script><script src="/_next/static/chunks/924-9226750edc5c2c2f.js" async=""></script><script src="/_next/static/chunks/app/layout-aa71ca14e7f13c0c.js" async=""></script><script src="/_next/static/chunks/479-ea67f878851afbcd.js" async=""></script><script src="/_next/static/chunks/185-9c51ded7cd36ca7e.js" async=""></script><script src="/_next/static/chunks/app/styleguide/page-f39510e82c1f9f31.js" async=""></script><meta name="next-size-adjust" content=""/><title>Styleguide — Vellum</title><meta name="description" content="Local-first design review recorder and analyzer."/><link rel="icon" href="/icon.svg?a9ab9d5c890528b7" type="image/svg+xml" sizes="any"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-full"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,false,true)</script><div class="mx-auto min-h-svh max-w-5xl px-6 pb-24"><header class="sticky top-0 z-10 -mx-6 mb-2 flex flex-col gap-3 border-b border-border bg-background/80 px-6 py-4 backdrop-blur-sm sm:flex-row sm:items-center sm:justify-between"><div><h1 class="text-sm font-semibold tracking-tight">Vellum Styleguide</h1><p class="text-xs text-muted-foreground">Component workbench · dark-only · monochrome (ADR-004)</p></div><nav class="flex flex-wrap gap-1"><a href="#color" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Color</a><a href="#type" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Type</a><a href="#spacing" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Spacing</a><a href="#radius" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Radius</a><a href="#components" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Components</a><a href="#workspace" class="rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground">Workspace</a></nav></header><section id="color" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Color</h2><p class="mt-1 text-sm text-muted-foreground">Strictly monochrome. Hierarchy comes from contrast, never hue. The surface ramp is the source of truth; semantic tokens alias onto it.</p></div><h3 class="mb-3 text-xs font-medium text-muted-foreground">Surface ramp</h3><div class="grid grid-cols-2 gap-3 sm:grid-cols-4 lg:grid-cols-6"><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-1)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-1</div><div class="font-mono text-[0.7rem] text-muted-foreground">app background</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-2)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-2</div><div class="font-mono text-[0.7rem] text-muted-foreground">raised surface / card</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-3)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-3</div><div class="font-mono text-[0.7rem] text-muted-foreground">sidebar / inset</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-4)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-4</div><div class="font-mono text-[0.7rem] text-muted-foreground">hover / muted fill</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-5)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-5</div><div class="font-mono text-[0.7rem] text-muted-foreground">pressed / active</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-6)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-6</div><div class="font-mono text-[0.7rem] text-muted-foreground">strong border</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-7)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-7</div><div class="font-mono text-[0.7rem] text-muted-foreground">—</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-8)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-8</div><div class="font-mono text-[0.7rem] text-muted-foreground">disabled foreground</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-9)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-9</div><div class="font-mono text-[0.7rem] text-muted-foreground">focus ring / placeholder</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-10)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-10</div><div class="font-mono text-[0.7rem] text-muted-foreground">—</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-11)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-11</div><div class="font-mono text-[0.7rem] text-muted-foreground">muted foreground</div></div></div><div class="flex flex-col gap-2"><div class="h-16 rounded-lg border border-border" style="background:var(--gray-12)"></div><div class="leading-tight"><div class="font-mono text-xs">gray-12</div><div class="font-mono text-[0.7rem] text-muted-foreground">foreground</div></div></div></div><h3 class="mt-10 mb-3 text-xs font-medium text-muted-foreground">Semantic tokens</h3><div class="grid grid-cols-2 gap-3 sm:grid-cols-4"><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--background);color:var(--foreground)"><span class="font-mono text-xs">background</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--card);color:var(--card-foreground)"><span class="font-mono text-xs">card</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--popover);color:var(--popover-foreground)"><span class="font-mono text-xs">popover</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--primary);color:var(--primary-foreground)"><span class="font-mono text-xs">primary</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--secondary);color:var(--secondary-foreground)"><span class="font-mono text-xs">secondary</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--muted);color:var(--muted-foreground)"><span class="font-mono text-xs">muted</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--accent);color:var(--accent-foreground)"><span class="font-mono text-xs">accent</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div><div class="flex h-20 flex-col justify-between rounded-lg border border-border p-3" style="background:var(--destructive);color:var(--background)"><span class="font-mono text-xs">destructive</span><span class="font-mono text-[0.7rem] opacity-70">Aa</span></div></div></section><section id="type" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Typography</h2><p class="mt-1 text-sm text-muted-foreground">Inter for UI, Geist Mono for timestamps and code. No editorial serif.</p></div><div class="space-y-5"><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-3xl font-semibold tracking-tight">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">3xl · semibold</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-2xl font-semibold tracking-tight">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">2xl · semibold</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-xl font-medium">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">xl · medium</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-lg font-medium">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">lg · medium</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-base">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">base · regular</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-sm">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">sm · regular (UI default)</span></div><div class="flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6"><span class="text-xs text-muted-foreground">The quick brown fox</span><span class="shrink-0 font-mono text-[0.7rem] text-muted-foreground">xs · muted (labels)</span></div></div><div class="mt-10 rounded-lg border border-border bg-card p-5"><h3 class="mb-3 text-xs font-medium text-muted-foreground">Geist Mono — timestamps & code</h3><div class="space-y-2 font-mono text-sm"><p><span class="tabular-nums">00:03:42</span><span class="text-muted-foreground"> → screenshot_timestamp</span></p><p class="text-muted-foreground">const result = await analyze(fileUri);</p></div></div></section><section id="spacing" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Spacing</h2><p class="mt-1 text-sm text-muted-foreground">4px base unit (Tailwind's default scale). Density is Linear-like — dense, restrained whitespace.</p></div><div class="space-y-3"><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">1</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 1)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">4<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">2</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 2)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">8<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">3</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 3)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">12<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">4</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 4)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">16<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">6</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 6)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">24<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">8</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 8)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">32<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">12</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 12)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">48<!-- -->px</span></div><div class="flex items-center gap-4"><span class="w-10 shrink-0 font-mono text-xs text-muted-foreground">16</span><div class="h-3 rounded-sm bg-foreground/80" style="width:calc(var(--spacing) * 16)"></div><span class="font-mono text-[0.7rem] text-muted-foreground">64<!-- -->px</span></div></div></section><section id="radius" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Radius</h2><p class="mt-1 text-sm text-muted-foreground">Base radius is 0.5rem (8px) — tighter than the shadcn default, closer to Linear.</p></div><div class="flex flex-wrap gap-6"><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-sm"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">sm</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-md"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">md</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-lg"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">lg</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><div class="size-16 bg-muted rounded-xl"></div></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">xl</span></div></div></section><section id="components" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Components</h2><p class="mt-1 text-sm text-muted-foreground">shadcn primitives reading the Vellum tokens, shown in their key states.</p></div><h3 class="mb-4 text-xs font-medium text-muted-foreground">Button · variants</h3><div class="flex flex-wrap items-center gap-3"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Default</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Secondary</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Outline</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Ghost</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Destructive</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 text-primary underline-offset-4 hover:underline h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Link</button></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Button · states</h3><div class="flex flex-wrap gap-6"><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">default</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 bg-primary/80">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">hover</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 translate-y-px bg-primary/80">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">active</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 border-ring ring-3 ring-ring/50">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">focus</span></div><div class="flex flex-col gap-2"><div class="flex items-center justify-center rounded-lg border border-border bg-card p-4"><button type="button" data-disabled="" tabindex="0" disabled="" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2">Button</button></div><span class="text-center font-mono text-[0.7rem] text-muted-foreground">disabled</span></div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Input · states</h3><div class="grid max-w-2xl grid-cols-1 gap-5 sm:grid-cols-2"><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-default">Default</label><input id="sg-default" data-slot="input" placeholder="Session name" class="h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"/></div><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-focus">Focus</label><input id="sg-focus" data-slot="input" placeholder="Session name" class="h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 border-ring ring-3 ring-ring/50"/></div><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-disabled">Disabled</label><input data-disabled="" id="sg-disabled" disabled="" data-slot="input" placeholder="Session name" class="h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"/></div><div class="flex flex-col gap-1.5"><label data-slot="label" class="flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50" for="sg-invalid">Invalid</label><input id="sg-invalid" data-slot="input" placeholder="Session name" aria-invalid="true" class="h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40"/></div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Tabs</h3><div data-orientation="horizontal" data-activation-direction="none" data-slot="tabs" class="group/tabs flex gap-2 data-horizontal:flex-col max-w-md"><div data-orientation="horizontal" data-activation-direction="none" role="tablist" data-slot="tabs-list" data-variant="default" class="group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none bg-muted"><button type="button" data-active="" data-orientation="horizontal" data-activation-direction="none" aria-disabled="false" tabindex="-1" role="tab" aria-selected="true" id="base-ui-_R_5hclubtb_" data-composite-item-active="" data-slot="tabs-trigger" class="relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100">Overview</button><button type="button" data-orientation="horizontal" data-activation-direction="none" aria-disabled="false" tabindex="-1" role="tab" aria-selected="false" id="base-ui-_R_9hclubtb_" data-slot="tabs-trigger" class="relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100">Tasks</button><button type="button" data-disabled="" data-orientation="horizontal" data-activation-direction="none" aria-disabled="true" tabindex="-1" role="tab" aria-selected="false" id="base-ui-_R_dhclubtb_" data-slot="tabs-trigger" class="relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100">Disabled</button></div><div data-orientation="horizontal" data-activation-direction="none" id="base-ui-_R_2hclubtb_" role="tabpanel" tabindex="0" data-index="-1" data-slot="tabs-content" class="flex-1 outline-none text-sm text-muted-foreground">Overview panel content.</div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Card</h3><div data-slot="card" data-size="default" class="group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl max-w-sm"><div data-slot="card-header" class="group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)"><div data-slot="card-title" class="font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm">Onboarding review</div><div data-slot="card-description" class="text-sm text-muted-foreground">12 tasks · 24 min · ui_design</div></div><div data-slot="card-content" class="px-(--card-spacing) text-muted-foreground">A representative session card — structure only.</div><div data-slot="card-footer" class="flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing) gap-2"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/80 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5">Open</button><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5">Rename</button></div></div><h3 class="mt-10 mb-4 text-xs font-medium text-muted-foreground">Separator · Skeleton · Dialog</h3><div class="flex max-w-md flex-col gap-6"><div><p class="text-sm">Above</p><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch my-3"></div><p class="text-sm text-muted-foreground">Below</p></div><div class="flex items-center gap-3"><div data-slot="skeleton" class="animate-pulse bg-muted size-10 rounded-lg"></div><div class="flex flex-1 flex-col gap-2"><div data-slot="skeleton" class="animate-pulse rounded-md bg-muted h-3 w-2/3"></div><div data-slot="skeleton" class="animate-pulse rounded-md bg-muted h-3 w-1/3"></div></div></div><button type="button" tabindex="0" data-slot="button" data-base-ui-click-trigger="" id="base-ui-_R_1npclubtb_" aria-haspopup="dialog" aria-expanded="false" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-fit">Open dialog</button></div></section><section id="workspace" class="scroll-mt-16 border-t border-border py-12"><div class="mb-8"><h2 class="text-lg font-medium tracking-tight">Workspace onboarding</h2><p class="mt-1 text-sm text-muted-foreground">First-run gate screens (TASK-15). Shown full-screen by WorkspaceProvider; framed here for review, with no handlers wired.</p></div><div class="grid gap-6"><div class="flex flex-col gap-2"><div class="h-[560px] overflow-hidden rounded-lg border border-border"><div class="flex h-full w-full items-center justify-center bg-background p-6"><div class="w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out"><div class="mb-8 flex items-center"><svg viewBox="0 0 122 16" class="w-auto text-foreground h-[21px]" fill="currentColor" role="img" aria-label="Vellum" xmlns="http://www.w3.org/2000/svg"><g class="origin-center transition-transform duration-500 ease-out motion-reduce:transition-none" style="transform-box:fill-box;transform:rotate(0deg)"><path d="M6.50391 3.5H9.50391V1H12.5039V3.5H15.0039V6.5H12.5039V9.5H15.0039V12.5H12.5039V15H9.50391V12.5H6.50391V15H3.50391V12.5H1.00391V9.5H3.50391V6.5H1.00391V3.5H3.50391V1H6.50391V3.5ZM6.50391 9.5H9.50391V6.5H6.50391V9.5Z"></path></g><path d="M86.7959 7.94043C86.7959 9.45243 87.2643 11.4512 90.4863 11.4512H90.5762C93.78 11.4511 94.2119 9.4524 94.2119 7.94043V1.40723H98.4961V7.99512C98.496 10.6591 97.6497 14.9971 90.792 14.9971H90.2695C83.1422 14.9969 82.5118 10.6411 82.5117 7.99512V1.40723H86.7959V7.94043ZM27.3057 10.9473L31.5176 1.40723H36.0898L29.9697 14.7988H24.498L18.1084 1.40723H23.0938L27.3057 10.9473ZM50.6113 4.48438H42.043V6.42871H50.3418V9.61523H42.043V11.6846H50.7197V14.7988H37.7773V1.40723H50.6113V4.48438ZM57.8643 11.3066H65.9648V14.7988H53.5625V1.40723H57.8643V11.3066ZM72.7354 11.3066H80.8359V14.7988H68.4336V1.40723H72.7354V11.3066ZM111.343 9.74121L115.374 1.40723H120.918V14.7988H116.706V6.24902L112.692 14.7988H109.704L105.708 6.24902V14.7988H101.568V1.40723H107.4L111.343 9.74121Z"></path></svg></div><div class="flex size-9 items-center justify-center rounded-lg border border-border bg-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open size-5" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg></div><h1 class="mt-4 text-lg font-medium tracking-tight">Choose a workspace folder</h1><p class="mt-1.5 text-sm text-muted-foreground">Vellum keeps every recording, report, and screenshot inside one folder you choose. Pick an empty folder to start.</p><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg>Choose folder…</button><div class="mt-8 flex gap-3 rounded-lg border border-border bg-card p-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check mt-0.5 size-4 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><p class="text-xs leading-relaxed text-muted-foreground">Everything stays on your machine. Recordings and reports are written to this folder and never leave it. The only data sent out is the video itself — uploaded to the Google Gemini API under your own key for analysis. No backend, no telemetry, no account.</p></div></div></div></div><span class="font-mono text-[0.7rem] text-muted-foreground">onboarding (first run)</span></div><div class="flex flex-col gap-2"><div class="h-[560px] overflow-hidden rounded-lg border border-border"><div class="flex h-full w-full items-center justify-center bg-background p-6"><div class="w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out"><div class="mb-8 flex items-center"><svg viewBox="0 0 122 16" class="w-auto text-foreground h-[21px]" fill="currentColor" role="img" aria-label="Vellum" xmlns="http://www.w3.org/2000/svg"><g class="origin-center transition-transform duration-500 ease-out motion-reduce:transition-none" style="transform-box:fill-box;transform:rotate(0deg)"><path d="M6.50391 3.5H9.50391V1H12.5039V3.5H15.0039V6.5H12.5039V9.5H15.0039V12.5H12.5039V15H9.50391V12.5H6.50391V15H3.50391V12.5H1.00391V9.5H3.50391V6.5H1.00391V3.5H3.50391V1H6.50391V3.5ZM6.50391 9.5H9.50391V6.5H6.50391V9.5Z"></path></g><path d="M86.7959 7.94043C86.7959 9.45243 87.2643 11.4512 90.4863 11.4512H90.5762C93.78 11.4511 94.2119 9.4524 94.2119 7.94043V1.40723H98.4961V7.99512C98.496 10.6591 97.6497 14.9971 90.792 14.9971H90.2695C83.1422 14.9969 82.5118 10.6411 82.5117 7.99512V1.40723H86.7959V7.94043ZM27.3057 10.9473L31.5176 1.40723H36.0898L29.9697 14.7988H24.498L18.1084 1.40723H23.0938L27.3057 10.9473ZM50.6113 4.48438H42.043V6.42871H50.3418V9.61523H42.043V11.6846H50.7197V14.7988H37.7773V1.40723H50.6113V4.48438ZM57.8643 11.3066H65.9648V14.7988H53.5625V1.40723H57.8643V11.3066ZM72.7354 11.3066H80.8359V14.7988H68.4336V1.40723H72.7354V11.3066ZM111.343 9.74121L115.374 1.40723H120.918V14.7988H116.706V6.24902L112.692 14.7988H109.704L105.708 6.24902V14.7988H101.568V1.40723H107.4L111.343 9.74121Z"></path></svg></div><div class="flex size-9 items-center justify-center rounded-lg border border-border bg-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock size-5" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></div><h1 class="mt-4 text-lg font-medium tracking-tight">Confirm workspace access</h1><p class="mt-1.5 text-sm text-muted-foreground">Your browser needs permission to reopen<!-- --> <span class="font-medium text-foreground">design-reviews</span>. This is a routine confirmation after a restart — nothing has changed.</p><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full">Confirm access</button></div></div></div><span class="font-mono text-[0.7rem] text-muted-foreground">needs-permission (soft re-grant after restart)</span></div><div class="flex flex-col gap-2"><div class="h-[560px] overflow-hidden rounded-lg border border-border"><div class="flex h-full w-full items-center justify-center bg-background p-6"><div class="w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out"><div class="mb-8 flex items-center"><svg viewBox="0 0 122 16" class="w-auto text-foreground h-[21px]" fill="currentColor" role="img" aria-label="Vellum" xmlns="http://www.w3.org/2000/svg"><g class="origin-center transition-transform duration-500 ease-out motion-reduce:transition-none" style="transform-box:fill-box;transform:rotate(0deg)"><path d="M6.50391 3.5H9.50391V1H12.5039V3.5H15.0039V6.5H12.5039V9.5H15.0039V12.5H12.5039V15H9.50391V12.5H6.50391V15H3.50391V12.5H1.00391V9.5H3.50391V6.5H1.00391V3.5H3.50391V1H6.50391V3.5ZM6.50391 9.5H9.50391V6.5H6.50391V9.5Z"></path></g><path d="M86.7959 7.94043C86.7959 9.45243 87.2643 11.4512 90.4863 11.4512H90.5762C93.78 11.4511 94.2119 9.4524 94.2119 7.94043V1.40723H98.4961V7.99512C98.496 10.6591 97.6497 14.9971 90.792 14.9971H90.2695C83.1422 14.9969 82.5118 10.6411 82.5117 7.99512V1.40723H86.7959V7.94043ZM27.3057 10.9473L31.5176 1.40723H36.0898L29.9697 14.7988H24.498L18.1084 1.40723H23.0938L27.3057 10.9473ZM50.6113 4.48438H42.043V6.42871H50.3418V9.61523H42.043V11.6846H50.7197V14.7988H37.7773V1.40723H50.6113V4.48438ZM57.8643 11.3066H65.9648V14.7988H53.5625V1.40723H57.8643V11.3066ZM72.7354 11.3066H80.8359V14.7988H68.4336V1.40723H72.7354V11.3066ZM111.343 9.74121L115.374 1.40723H120.918V14.7988H116.706V6.24902L112.692 14.7988H109.704L105.708 6.24902V14.7988H101.568V1.40723H107.4L111.343 9.74121Z"></path></svg></div><div class="flex size-9 items-center justify-center rounded-lg border border-border bg-card"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-x size-5" aria-hidden="true"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path><path d="m9.5 10.5 5 5"></path><path d="m14.5 10.5-5 5"></path></svg></div><h1 class="mt-4 text-lg font-medium tracking-tight">Workspace unavailable</h1><p class="mt-1.5 text-sm text-muted-foreground">We couldn’t find<!-- --> <span class="font-medium text-foreground">design-reviews</span>. It may have been moved, renamed, or deleted. Choose a workspace folder to continue.</p><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg>Choose folder…</button></div></div></div><span class="font-mono text-[0.7rem] text-muted-foreground">unavailable (folder moved / deleted)</span></div></div></section></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-ceb933bd5f77076f.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[72737,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"924\",\"static/chunks/924-9226750edc5c2c2f.js\",\"177\",\"static/chunks/app/layout-aa71ca14e7f13c0c.js\"],\"ThemeProvider\"]\n3:I[70872,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"924\",\"static/chunks/924-9226750edc5c2c2f.js\",\"177\",\"static/chunks/app/layout-aa71ca14e7f13c0c.js\"],\"TooltipProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n12:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e2905f0858acd77d.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"styleguide\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"styleguide\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e2905f0858acd77d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"__variable_f367f3 __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"mx-auto min-h-svh max-w-5xl px-6 pb-24\",\"children\":[[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-10 -mx-6 mb-2 flex flex-col gap-3 border-b border-border bg-background/80 px-6 py-4 backdrop-blur-sm sm:flex-row sm:items-center sm:justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-sm font-semibold tracking-tight\",\"children\":\"Vellum Styleguide\"}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"Component workbench · dark-only · monochrome (ADR-004)\"}]]}],[\"$\",\"nav\",null,{\"className\":\"flex flex-wrap gap-1\",\"children\":[[\"$\",\"a\",\"#color\",{\"href\":\"#color\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Color\"}],[\"$\",\"a\",\"#type\",{\"href\":\"#type\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Type\"}],[\"$\",\"a\",\"#spacing\",{\"href\":\"#spacing\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Spacing\"}],[\"$\",\"a\",\"#radius\",{\"href\":\"#radius\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Radius\"}],[\"$\",\"a\",\"#components\",{\"href\":\"#components\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Components\"}],[\"$\",\"a\",\"#workspace\",{\"href\":\"#workspace\",\"className\":\"rounded-md px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\"children\":\"Workspace\"}]]}]]}],[\"$\",\"section\",null,{\"id\":\"color\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Color\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"Strictly monochrome. Hierarchy comes from contrast, never hue. The surface ramp is the source of truth; semantic tokens alias onto it.\"}]]}],[\"$L6\",\"$L7\",\"$L8\",\"$L9\"]]}],\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\"]}],null,\"$Lf\"]}],{},null,false,null]},null,false,\"$@10\"]},null,false,null],\"$L11\",false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"FExJe2q2O67X3zxf-SYQ_\"}\n"])</script><script>self.__next_f.push([1,"15:I[35684,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"Button\"]\n22:I[119,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"Logo\"]\n23:I[71265,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"default\"]\n27:I[90484,[],\"OutletBoundary\"]\n28:\"$Sreact.suspense\"\n2b:I[90484,[],\"ViewportBoundary\"]\n2d:I[90484,[],\"MetadataBoundary\"]\n6:[\"$\",\"h3\",null,{\"className\":\"mb-3 text-xs font-medium text-muted-foreground\",\"children\":\"Surface ramp\"}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-3 sm:grid-cols-4 lg:grid-cols-6\",\"children\":[[\"$\",\"div\",\"gray-1\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-1)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-1\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"app background\"}]]}]]}],[\"$\",\"div\",\"gray-2\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-2)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-2\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"raised surface / card\"}]]}]]}],[\"$\",\"div\",\"gray-3\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-3)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-3\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"sidebar / inset\"}]]}]]}],[\"$\",\"div\",\"gray-4\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-4)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-4\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"hover / muted fill\"}]]}]]}],[\"$\",\"div\",\"gray-5\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-5)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-5\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"pressed / active\"}]]}]]}],[\"$\",\"div\",\"gray-6\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-6)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-6\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"strong border\"}]]}]]}],[\"$\",\"div\",\"gray-7\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-7)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-7\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"—\"}]]}]]}],[\"$\",\"div\",\"gray-8\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-8)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-8\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"disabled foreground\"}]]}]]}],[\"$\",\"div\",\"gray-9\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-9)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-9\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"focus ring / placeholder\"}]]}]]}],[\"$\",\"div\",\"gray-10\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-10)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-10\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"—\"}]]}]]}],[\"$\",\"div\",\"gray-11\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-11)\"}}],\"$L13\"]}],\"$L14\"]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-3 text-xs font-medium text-muted-foreground\",\"children\":\"Semantic tokens\"}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-3 sm:grid-cols-4\",\"children\":[[\"$\",\"div\",\"background\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--background)\",\"color\":\"var(--foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"background\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"card\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--card)\",\"color\":\"var(--card-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"card\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"popover\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--popover)\",\"color\":\"var(--popover-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"popover\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"primary\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--primary)\",\"color\":\"var(--primary-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"primary\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"secondary\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--secondary)\",\"color\":\"var(--secondary-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"secondary\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"muted\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--muted)\",\"color\":\"var(--muted-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"muted\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"accent\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--accent)\",\"color\":\"var(--accent-foreground)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"accent\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}],[\"$\",\"div\",\"destructive\",{\"className\":\"flex h-20 flex-col justify-between rounded-lg border border-border p-3\",\"style\":{\"background\":\"var(--destructive)\",\"color\":\"var(--background)\"},\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-xs\",\"children\":\"destructive\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] opacity-70\",\"children\":\"Aa\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"section\",null,{\"id\":\"type\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Typography\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"Inter for UI, Geist Mono for timestamps and code. No editorial serif.\"}]]}],[[\"$\",\"div\",null,{\"className\":\"space-y-5\",\"children\":[[\"$\",\"div\",\"3xl · semibold\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-3xl font-semibold tracking-tight\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"3xl · semibold\"}]]}],[\"$\",\"div\",\"2xl · semibold\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-2xl font-semibold tracking-tight\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"2xl · semibold\"}]]}],[\"$\",\"div\",\"xl · medium\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xl font-medium\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"xl · medium\"}]]}],[\"$\",\"div\",\"lg · medium\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-lg font-medium\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"lg · medium\"}]]}],[\"$\",\"div\",\"base · regular\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-base\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"base · regular\"}]]}],[\"$\",\"div\",\"sm · regular (UI default)\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"sm · regular (UI default)\"}]]}],[\"$\",\"div\",\"xs · muted (labels)\",{\"className\":\"flex flex-col gap-1 border-b border-border pb-5 last:border-0 sm:flex-row sm:items-baseline sm:justify-between sm:gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"The quick brown fox\"}],[\"$\",\"span\",null,{\"className\":\"shrink-0 font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"xs · muted (labels)\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-10 rounded-lg border border-border bg-card p-5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-xs font-medium text-muted-foreground\",\"children\":\"Geist Mono — timestamps \u0026 code\"}],[\"$\",\"div\",null,{\"className\":\"space-y-2 font-mono text-sm\",\"children\":[[\"$\",\"p\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"00:03:42\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\" → screenshot_timestamp\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":\"const result = await analyze(fileUri);\"}]]}]]}]]]}]\n"])</script><script>self.__next_f.push([1,"b:[\"$\",\"section\",null,{\"id\":\"spacing\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Spacing\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"4px base unit (Tailwind's default scale). Density is Linear-like — dense, restrained whitespace.\"}]]}],[\"$\",\"div\",null,{\"className\":\"space-y-3\",\"children\":[[\"$\",\"div\",\"1\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":1}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 1)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[4,\"px\"]}]]}],[\"$\",\"div\",\"2\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":2}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 2)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[8,\"px\"]}]]}],[\"$\",\"div\",\"3\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":3}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 3)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[12,\"px\"]}]]}],[\"$\",\"div\",\"4\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":4}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 4)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[16,\"px\"]}]]}],[\"$\",\"div\",\"6\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":6}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 6)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[24,\"px\"]}]]}],[\"$\",\"div\",\"8\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":8}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 8)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[32,\"px\"]}]]}],[\"$\",\"div\",\"12\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":12}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 12)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[48,\"px\"]}]]}],[\"$\",\"div\",\"16\",{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"w-10 shrink-0 font-mono text-xs text-muted-foreground\",\"children\":16}],[\"$\",\"div\",null,{\"className\":\"h-3 rounded-sm bg-foreground/80\",\"style\":{\"width\":\"calc(var(--spacing) * 16)\"}}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":[64,\"px\"]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"c:[\"$\",\"section\",null,{\"id\":\"radius\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Radius\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"Base radius is 0.5rem (8px) — tighter than the shadcn default, closer to Linear.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-6\",\"children\":[[\"$\",\"div\",\"sm\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-sm\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"sm\"}]]}],[\"$\",\"div\",\"md\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-md\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"md\"}]]}],[\"$\",\"div\",\"lg\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-lg\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"lg\"}]]}],[\"$\",\"div\",\"xl\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"size-16 bg-muted rounded-xl\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"xl\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"d:[\"$\",\"section\",null,{\"id\":\"components\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Components\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"shadcn primitives reading the Vellum tokens, shown in their key states.\"}]]}],[[\"$\",\"h3\",null,{\"className\":\"mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Button · variants\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3\",\"children\":[[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Default\"}],[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Secondary\"}],[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Outline\"}],[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Ghost\"}],\"$L16\",\"$L17\"]}],\"$L18\",\"$L19\",\"$L1a\",\"$L1b\",\"$L1c\",\"$L1d\",\"$L1e\",\"$L1f\",\"$L20\",\"$L21\"]]}]\n"])</script><script>self.__next_f.push([1,"e:[\"$\",\"section\",null,{\"id\":\"workspace\",\"className\":\"scroll-mt-16 border-t border-border py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-medium tracking-tight\",\"children\":\"Workspace onboarding\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":\"First-run gate screens (TASK-15). Shown full-screen by WorkspaceProvider; framed here for review, with no handlers wired.\"}]]}],[\"$\",\"div\",null,{\"className\":\"grid gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-[560px] overflow-hidden rounded-lg border border-border\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-full w-full items-center justify-center bg-background p-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 flex items-center\",\"children\":[\"$\",\"$L22\",null,{\"className\":\"h-[21px]\"}]}],[\"$\",\"div\",null,{\"className\":\"flex size-9 items-center justify-center rounded-lg border border-border bg-card\",\"children\":[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\",\"key\":\"usdka0\"}]],\"className\":\"lucide-folder-open size-5\",\"strokeWidth\":1.5}]}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-lg font-medium tracking-tight\",\"children\":\"Choose a workspace folder\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-muted-foreground\",\"children\":\"Vellum keeps every recording, report, and screenshot inside one folder you choose. Pick an empty folder to start.\"}],[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full\",\"onClick\":\"$undefined\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$e:props:children:1:props:children:0:props:children:0:props:children:props:children:props:children:1:props:children:props:iconNode\",\"className\":\"lucide-folder-open\"}],\"Choose folder…\"]}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex gap-3 rounded-lg border border-border bg-card p-4\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\"key\":\"oel41y\"}],[\"path\",{\"d\":\"m9 12 2 2 4-4\",\"key\":\"dzmm74\"}]],\"className\":\"lucide-shield-check mt-0.5 size-4 shrink-0 text-muted-foreground\",\"strokeWidth\":1.5}],[\"$\",\"p\",null,{\"className\":\"text-xs leading-relaxed text-muted-foreground\",\"children\":\"Everything stays on your machine. Recordings and reports are written to this folder and never leave it. The only data sent out is the video itself — uploaded to the Google Gemini API under your own key for analysis. No backend, no telemetry, no account.\"}]]}]]}]}]}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"onboarding (first run)\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-[560px] overflow-hidden rounded-lg border border-border\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-full w-full items-center justify-center bg-background p-6\",\"children\":\"$L24\"}]}],\"$L25\"]}],\"$L26\"]}]]}]\n"])</script><script>self.__next_f.push([1,"f:[\"$\",\"$L27\",null,{\"children\":[\"$\",\"$28\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@29\"}]}]\n2a:[]\n10:\"$W2a\"\n11:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L2b\",null,{\"children\":\"$L2c\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L2d\",null,{\"children\":[\"$\",\"$28\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L2e\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"32:I[33807,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"Label\"]\n33:I[64878,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"Input\"]\n34:I[56423,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"Tabs\"]\n35:I[56423,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"TabsList\"]\n36:I[56423,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"TabsTrigger\"]\n37:I[56423,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"TabsContent\"]\n38:I[97916,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"Separator\"]\n39:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"Dialog\"]\n3a:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"DialogTrigger\"]\n3b:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"DialogContent\"]\n3c:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"DialogHeader\"]\n3d:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"DialogTitle\"]\n3e:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"DialogDescription\"]\n3f:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"DialogFooter\"]\n40:I[42763,[\"603\",\"static/chunks/603-6235d4d53b37035c.js\",\"479\",\"static/chunks/479-ea67f878851afbcd.js\",\"185\",\"static/chunks/185-9c51ded7cd36ca7e.js\",\"748\",\"static/chunks/app/styleguide/page-f39510e82c1f9f31.js\"],\"DialogClose\"]\n13:[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-11\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"muted foreground\"}]]}]\n14:[\"$\",\"div\",\"gray-12\",{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-16 rounded-lg border border-border\",\"style\":{\"background\":\"var(--gray-12)\"}}],[\"$\",\"div\",null,{\"className\":\"leading-tight\",\"children\":[[\"$\",\"div\",null,{\"className\":\"font-mono text-xs\",\"children\":\"gray-12\"}],[\"$\",\"div\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"foreground\"}]]}]]}]\n16:[\"$\",\"$L15\",null,{\"data-slo"])</script><script>self.__next_f.push([1,"t\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Destructive\"}]\n17:[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-primary underline-offset-4 hover:underline h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Link\"}]\n18:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Button · states\"}]\n"])</script><script>self.__next_f.push([1,"19:[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"default\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 bg-primary/80\",\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"hover\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 translate-y-px bg-primary/80\",\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"active\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":\"$L2f\"}],\"$L30\"]}],\"$L31\"]}]\n"])</script><script>self.__next_f.push([1,"1a:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Input · states\"}]\n"])</script><script>self.__next_f.push([1,"1b:[\"$\",\"div\",null,{\"className\":\"grid max-w-2xl grid-cols-1 gap-5 sm:grid-cols-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L32\",null,{\"htmlFor\":\"sg-default\",\"children\":\"Default\"}],[\"$\",\"$L33\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\"id\":\"sg-default\",\"placeholder\":\"Session name\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L32\",null,{\"htmlFor\":\"sg-focus\",\"children\":\"Focus\"}],[\"$\",\"$L33\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 border-ring ring-3 ring-ring/50\",\"id\":\"sg-focus\",\"placeholder\":\"Session name\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L32\",null,{\"htmlFor\":\"sg-disabled\",\"children\":\"Disabled\"}],[\"$\",\"$L33\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\"id\":\"sg-disabled\",\"placeholder\":\"Session name\",\"disabled\":true}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-1.5\",\"children\":[[\"$\",\"$L32\",null,{\"htmlFor\":\"sg-invalid\",\"children\":\"Invalid\"}],[\"$\",\"$L33\",null,{\"type\":\"$undefined\",\"data-slot\":\"input\",\"className\":\"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\"id\":\"sg-invalid\",\"placeholder\":\"Session name\",\"aria-invalid\":true}]]}]]}]\n"])</script><script>self.__next_f.push([1,"1c:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Tabs\"}]\n1d:[\"$\",\"$L34\",null,{\"defaultValue\":\"overview\",\"className\":\"max-w-md\",\"children\":[[\"$\",\"$L35\",null,{\"children\":[[\"$\",\"$L36\",null,{\"value\":\"overview\",\"children\":\"Overview\"}],[\"$\",\"$L36\",null,{\"value\":\"tasks\",\"children\":\"Tasks\"}],[\"$\",\"$L36\",null,{\"value\":\"disabled\",\"disabled\":true,\"children\":\"Disabled\"}]]}],[\"$\",\"$L37\",null,{\"value\":\"overview\",\"className\":\"text-sm text-muted-foreground\",\"children\":\"Overview panel content.\"}],[\"$\",\"$L37\",null,{\"value\":\"tasks\",\"className\":\"text-sm text-muted-foreground\",\"children\":\"Tasks panel content.\"}]]}]\n1e:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Card\"}]\n"])</script><script>self.__next_f.push([1,"1f:[\"$\",\"div\",null,{\"data-slot\":\"card\",\"data-size\":\"default\",\"className\":\"group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[\u003eimg:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl max-w-sm\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"card-header\",\"className\":\"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"card-title\",\"className\":\"font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm\",\"children\":\"Onboarding review\"}],[\"$\",\"div\",null,{\"data-slot\":\"card-description\",\"className\":\"text-sm text-muted-foreground\",\"children\":\"12 tasks · 24 min · ui_design\"}]]}],[\"$\",\"div\",null,{\"data-slot\":\"card-content\",\"className\":\"px-(--card-spacing) text-muted-foreground\",\"children\":\"A representative session card — structure only.\"}],[\"$\",\"div\",null,{\"data-slot\":\"card-footer\",\"className\":\"flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing) gap-2\",\"children\":[[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-primary/80 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [\u0026_svg:not([class*='size-'])]:size-3.5\",\"children\":\"Open\"}],[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [\u0026_svg:not([class*='size-'])]:size-3.5\",\"children\":\"Rename\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"20:[\"$\",\"h3\",null,{\"className\":\"mt-10 mb-4 text-xs font-medium text-muted-foreground\",\"children\":\"Separator · Skeleton · Dialog\"}]\n"])</script><script>self.__next_f.push([1,"21:[\"$\",\"div\",null,{\"className\":\"flex max-w-md flex-col gap-6\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-sm\",\"children\":\"Above\"}],[\"$\",\"$L38\",null,{\"className\":\"my-3\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground\",\"children\":\"Below\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"skeleton\",\"className\":\"animate-pulse bg-muted size-10 rounded-lg\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-1 flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"data-slot\":\"skeleton\",\"className\":\"animate-pulse rounded-md bg-muted h-3 w-2/3\"}],[\"$\",\"div\",null,{\"data-slot\":\"skeleton\",\"className\":\"animate-pulse rounded-md bg-muted h-3 w-1/3\"}]]}]]}],[\"$\",\"$L39\",null,{\"children\":[[\"$\",\"$L3a\",null,{\"render\":[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-fit\"}],\"children\":\"Open dialog\"}],[\"$\",\"$L3b\",null,{\"children\":[[\"$\",\"$L3c\",null,{\"children\":[[\"$\",\"$L3d\",null,{\"children\":\"Delete session?\"}],[\"$\",\"$L3e\",null,{\"children\":\"This removes the report and screenshots from disk. This cannot be undone.\"}]]}],[\"$\",\"$L3f\",null,{\"children\":[[\"$\",\"$L40\",null,{\"render\":[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\"}],\"children\":\"Cancel\"}],[\"$\",\"$L40\",null,{\"render\":[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\"}],\"children\":\"Delete\"}]]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"24:[\"$\",\"div\",null,{\"className\":\"w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 flex items-center\",\"children\":[\"$\",\"$L22\",null,{\"className\":\"h-[21px]\"}]}],[\"$\",\"div\",null,{\"className\":\"flex size-9 items-center justify-center rounded-lg border border-border bg-card\",\"children\":[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"rect\",{\"width\":\"18\",\"height\":\"11\",\"x\":\"3\",\"y\":\"11\",\"rx\":\"2\",\"ry\":\"2\",\"key\":\"1w4ew1\"}],[\"path\",{\"d\":\"M7 11V7a5 5 0 0 1 10 0v4\",\"key\":\"fwvmzm\"}]],\"className\":\"lucide-lock size-5\",\"strokeWidth\":1.5}]}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-lg font-medium tracking-tight\",\"children\":\"Confirm workspace access\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-muted-foreground\",\"children\":[\"Your browser needs permission to reopen\",\" \",[\"$\",\"span\",null,{\"className\":\"font-medium text-foreground\",\"children\":\"design-reviews\"}],\". This is a routine confirmation after a restart — nothing has changed.\"]}],[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full\",\"onClick\":\"$undefined\",\"children\":\"Confirm access\"}],\"$undefined\"]}]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"needs-permission (soft re-grant after restart)\"}]\n"])</script><script>self.__next_f.push([1,"26:[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-[560px] overflow-hidden rounded-lg border border-border\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-full w-full items-center justify-center bg-background p-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-md animate-in fade-in-0 zoom-in-95 duration-200 ease-out\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 flex items-center\",\"children\":[\"$\",\"$L22\",null,{\"className\":\"h-[21px]\"}]}],[\"$\",\"div\",null,{\"className\":\"flex size-9 items-center justify-center rounded-lg border border-border bg-card\",\"children\":[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\",\"key\":\"1kt360\"}],[\"path\",{\"d\":\"m9.5 10.5 5 5\",\"key\":\"ra9qjz\"}],[\"path\",{\"d\":\"m14.5 10.5-5 5\",\"key\":\"l2rkpq\"}]],\"className\":\"lucide-folder-x size-5\",\"strokeWidth\":1.5}]}],[\"$\",\"h1\",null,{\"className\":\"mt-4 text-lg font-medium tracking-tight\",\"children\":\"Workspace unavailable\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-muted-foreground\",\"children\":[\"We couldn’t find\",\" \",[\"$\",\"span\",null,{\"className\":\"font-medium text-foreground\",\"children\":\"design-reviews\"}],\". It may have been moved, renamed, or deleted. Choose a workspace folder to continue.\"]}],[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 mt-6 w-full\",\"onClick\":\"$undefined\",\"children\":[[\"$\",\"$L23\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$e:props:children:1:props:children:0:props:children:0:props:children:props:children:props:children:1:props:children:props:iconNode\",\"className\":\"lucide-folder-open\"}],\"Choose folder…\"]}]]}]}]}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"unavailable (folder moved / deleted)\"}]]}]\n"])</script><script>self.__next_f.push([1,"2f:[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 border-ring ring-3 ring-ring/50\",\"children\":\"Button\"}]\n30:[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"focus\"}]\n31:[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center rounded-lg border border-border bg-card p-4\",\"children\":[\"$\",\"$L15\",null,{\"data-slot\":\"button\",\"className\":\"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [\u0026_svg]:pointer-events-none [\u0026_svg]:shrink-0 [\u0026_svg:not([class*='size-'])]:size-4 bg-primary text-primary-foreground hover:bg-primary/80 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\"disabled\":true,\"children\":\"Button\"}]}],[\"$\",\"span\",null,{\"className\":\"text-center font-mono text-[0.7rem] text-muted-foreground\",\"children\":\"disabled\"}]]}]\n"])</script><script>self.__next_f.push([1,"2c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"41:I[86869,[],\"IconMark\"]\n29:null\n2e:[[\"$\",\"title\",\"0\",{\"children\":\"Styleguide — Vellum\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first design review recorder and analyzer.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg?a9ab9d5c890528b7\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"$L41\",\"3\",{}]]\n"])</script></body></html>
|