supadeck 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +338 -0
  2. package/dist/cli/export.d.ts +7 -0
  3. package/dist/cli/export.js +36 -0
  4. package/dist/cli/export.js.map +1 -0
  5. package/dist/cli/index.d.ts +14 -0
  6. package/dist/cli/index.js +104 -0
  7. package/dist/cli/index.js.map +1 -0
  8. package/dist/cli/serve.d.ts +8 -0
  9. package/dist/cli/serve.js +13 -0
  10. package/dist/cli/serve.js.map +1 -0
  11. package/dist/cli/templates.d.ts +1 -0
  12. package/dist/cli/templates.js +36 -0
  13. package/dist/cli/templates.js.map +1 -0
  14. package/dist/cli/workspace.d.ts +2 -0
  15. package/dist/cli/workspace.js +27 -0
  16. package/dist/cli/workspace.js.map +1 -0
  17. package/dist/content/parse-deck.d.ts +36 -0
  18. package/dist/content/parse-deck.js +137 -0
  19. package/dist/content/parse-deck.js.map +1 -0
  20. package/dist/content/remark-unwrap-jsx-paragraphs.d.ts +7 -0
  21. package/dist/content/remark-unwrap-jsx-paragraphs.js +64 -0
  22. package/dist/content/remark-unwrap-jsx-paragraphs.js.map +1 -0
  23. package/dist/export/pdf.d.ts +6 -0
  24. package/dist/export/pdf.js +41 -0
  25. package/dist/export/pdf.js.map +1 -0
  26. package/dist/index.d.ts +13 -0
  27. package/dist/index.js +12 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/runtime/App.d.ts +8 -0
  30. package/dist/runtime/App.js +46 -0
  31. package/dist/runtime/App.js.map +1 -0
  32. package/dist/runtime/components/Callout.d.ts +7 -0
  33. package/dist/runtime/components/Callout.js +14 -0
  34. package/dist/runtime/components/Callout.js.map +1 -0
  35. package/dist/runtime/components/Center.d.ts +4 -0
  36. package/dist/runtime/components/Center.js +5 -0
  37. package/dist/runtime/components/Center.js.map +1 -0
  38. package/dist/runtime/components/Columns.d.ts +6 -0
  39. package/dist/runtime/components/Columns.js +5 -0
  40. package/dist/runtime/components/Columns.js.map +1 -0
  41. package/dist/runtime/components/Disclosure.d.ts +6 -0
  42. package/dist/runtime/components/Disclosure.js +6 -0
  43. package/dist/runtime/components/Disclosure.js.map +1 -0
  44. package/dist/runtime/components/Frame.d.ts +5 -0
  45. package/dist/runtime/components/Frame.js +5 -0
  46. package/dist/runtime/components/Frame.js.map +1 -0
  47. package/dist/runtime/components/index.d.ts +8 -0
  48. package/dist/runtime/components/index.js +5 -0
  49. package/dist/runtime/components/index.js.map +1 -0
  50. package/dist/runtime/default-components.d.ts +3 -0
  51. package/dist/runtime/default-components.js +39 -0
  52. package/dist/runtime/default-components.js.map +1 -0
  53. package/dist/runtime/hooks/slides.d.ts +1 -0
  54. package/dist/runtime/hooks/slides.js +46 -0
  55. package/dist/runtime/hooks/slides.js.map +1 -0
  56. package/dist/runtime/index.html +12 -0
  57. package/dist/runtime/layout/DeckSlide.d.ts +2 -0
  58. package/dist/runtime/layout/DeckSlide.js +7 -0
  59. package/dist/runtime/layout/DeckSlide.js.map +1 -0
  60. package/dist/runtime/layout/SlideFrame.d.ts +2 -0
  61. package/dist/runtime/layout/SlideFrame.js +7 -0
  62. package/dist/runtime/layout/SlideFrame.js.map +1 -0
  63. package/dist/runtime/main.d.ts +1 -0
  64. package/dist/runtime/main.js +32 -0
  65. package/dist/runtime/main.js.map +1 -0
  66. package/dist/runtime/mdx-components.d.ts +2 -0
  67. package/dist/runtime/mdx-components.js +17 -0
  68. package/dist/runtime/mdx-components.js.map +1 -0
  69. package/dist/runtime/primitives/DeckChrome.d.ts +7 -0
  70. package/dist/runtime/primitives/DeckChrome.js +7 -0
  71. package/dist/runtime/primitives/DeckChrome.js.map +1 -0
  72. package/dist/runtime/primitives/DeckNavigation.d.ts +6 -0
  73. package/dist/runtime/primitives/DeckNavigation.js +5 -0
  74. package/dist/runtime/primitives/DeckNavigation.js.map +1 -0
  75. package/dist/runtime/primitives/DeckProgress.d.ts +6 -0
  76. package/dist/runtime/primitives/DeckProgress.js +6 -0
  77. package/dist/runtime/primitives/DeckProgress.js.map +1 -0
  78. package/dist/runtime/primitives/DeckTitle.d.ts +5 -0
  79. package/dist/runtime/primitives/DeckTitle.js +5 -0
  80. package/dist/runtime/primitives/DeckTitle.js.map +1 -0
  81. package/dist/runtime/public-components.d.ts +22 -0
  82. package/dist/runtime/public-components.js +24 -0
  83. package/dist/runtime/public-components.js.map +1 -0
  84. package/dist/runtime/styles/base.css +201 -0
  85. package/dist/runtime/tailwind-hmr.d.ts +18 -0
  86. package/dist/runtime/tailwind-hmr.js +68 -0
  87. package/dist/runtime/tailwind-hmr.js.map +1 -0
  88. package/dist/runtime/tailwind-sources.d.ts +4 -0
  89. package/dist/runtime/tailwind-sources.js +43 -0
  90. package/dist/runtime/tailwind-sources.js.map +1 -0
  91. package/dist/runtime/theme-components.d.ts +3 -0
  92. package/dist/runtime/theme-components.js +18 -0
  93. package/dist/runtime/theme-components.js.map +1 -0
  94. package/dist/runtime/theme-resolution.d.ts +2 -0
  95. package/dist/runtime/theme-resolution.js +63 -0
  96. package/dist/runtime/theme-resolution.js.map +1 -0
  97. package/dist/runtime/theme-types.d.ts +48 -0
  98. package/dist/runtime/theme-types.js +2 -0
  99. package/dist/runtime/theme-types.js.map +1 -0
  100. package/dist/runtime/themes/base/DefaultDeck.d.ts +2 -0
  101. package/dist/runtime/themes/base/DefaultDeck.js +11 -0
  102. package/dist/runtime/themes/base/DefaultDeck.js.map +1 -0
  103. package/dist/runtime/themes/base/theme.css +245 -0
  104. package/dist/runtime/themes/default/DefaultDeck.d.ts +2 -0
  105. package/dist/runtime/themes/default/DefaultDeck.js +11 -0
  106. package/dist/runtime/themes/default/DefaultDeck.js.map +1 -0
  107. package/dist/runtime/themes/default/DefaultThemeDeck.d.ts +2 -0
  108. package/dist/runtime/themes/default/DefaultThemeDeck.js +23 -0
  109. package/dist/runtime/themes/default/DefaultThemeDeck.js.map +1 -0
  110. package/dist/runtime/themes/default/components.d.ts +65 -0
  111. package/dist/runtime/themes/default/components.js +80 -0
  112. package/dist/runtime/themes/default/components.js.map +1 -0
  113. package/dist/runtime/themes/default/index.d.ts +4 -0
  114. package/dist/runtime/themes/default/index.js +18 -0
  115. package/dist/runtime/themes/default/index.js.map +1 -0
  116. package/dist/runtime/themes/default/theme.css +577 -0
  117. package/dist/runtime/themes/default.css +10 -0
  118. package/dist/runtime/themes/sunset/index.d.ts +4 -0
  119. package/dist/runtime/themes/sunset/index.js +13 -0
  120. package/dist/runtime/themes/sunset/index.js.map +1 -0
  121. package/dist/runtime/themes/sunset/theme.css +12 -0
  122. package/dist/runtime/themes/sunset.css +10 -0
  123. package/dist/runtime/themes/supabase/SupabaseDeck.d.ts +2 -0
  124. package/dist/runtime/themes/supabase/SupabaseDeck.js +23 -0
  125. package/dist/runtime/themes/supabase/SupabaseDeck.js.map +1 -0
  126. package/dist/runtime/themes/supabase/components.d.ts +65 -0
  127. package/dist/runtime/themes/supabase/components.js +80 -0
  128. package/dist/runtime/themes/supabase/components.js.map +1 -0
  129. package/dist/runtime/themes/supabase/index.d.ts +4 -0
  130. package/dist/runtime/themes/supabase/index.js +17 -0
  131. package/dist/runtime/themes/supabase/index.js.map +1 -0
  132. package/dist/runtime/themes/supabase/theme.css +523 -0
  133. package/dist/runtime/utils/use-current-slide.d.ts +3 -0
  134. package/dist/runtime/utils/use-current-slide.js +20 -0
  135. package/dist/runtime/utils/use-current-slide.js.map +1 -0
  136. package/dist/runtime/vite-config.d.ts +10 -0
  137. package/dist/runtime/vite-config.js +218 -0
  138. package/dist/runtime/vite-config.js.map +1 -0
  139. package/package.json +60 -0
@@ -0,0 +1,65 @@
1
+ import type React from 'react';
2
+ import type { MdxComponentMap } from '../../theme-types.js';
3
+ export interface SupabaseMarkProps extends React.ComponentProps<'svg'> {
4
+ size?: 'footer' | 'hero';
5
+ }
6
+ export declare function SupabaseMark({ size, className, ...props }: SupabaseMarkProps): import("react/jsx-runtime").JSX.Element;
7
+ export interface SectionSlideProps {
8
+ children: React.ReactNode;
9
+ className?: string;
10
+ }
11
+ export declare function SectionSlide({ children, className }: SectionSlideProps): import("react/jsx-runtime").JSX.Element;
12
+ export interface DividerProps {
13
+ centered?: boolean;
14
+ className?: string;
15
+ }
16
+ export declare function Divider({ centered, className }: DividerProps): import("react/jsx-runtime").JSX.Element;
17
+ export interface TagProps {
18
+ children: React.ReactNode;
19
+ tone?: 'default' | 'red' | 'yellow';
20
+ className?: string;
21
+ }
22
+ export declare function Tag({ children, tone, className }: TagProps): import("react/jsx-runtime").JSX.Element;
23
+ export interface WideProps {
24
+ children: React.ReactNode;
25
+ className?: string;
26
+ }
27
+ export declare function Wide({ children, className }: WideProps): import("react/jsx-runtime").JSX.Element;
28
+ export interface CardGridProps {
29
+ children: React.ReactNode;
30
+ columns?: number;
31
+ className?: string;
32
+ }
33
+ export declare function CardGrid({ children, columns, className }: CardGridProps): import("react/jsx-runtime").JSX.Element;
34
+ export interface CardProps {
35
+ title: React.ReactNode;
36
+ children: React.ReactNode;
37
+ tone?: 'default' | 'red' | 'yellow';
38
+ className?: string;
39
+ }
40
+ export declare function Card({ title, children, tone, className }: CardProps): import("react/jsx-runtime").JSX.Element;
41
+ export interface StatGridProps {
42
+ children: React.ReactNode;
43
+ columns?: number;
44
+ className?: string;
45
+ }
46
+ export declare function StatGrid({ children, columns, className }: StatGridProps): import("react/jsx-runtime").JSX.Element;
47
+ export interface StatProps {
48
+ value: React.ReactNode;
49
+ label: React.ReactNode;
50
+ className?: string;
51
+ }
52
+ export declare function Stat({ value, label, className }: StatProps): import("react/jsx-runtime").JSX.Element;
53
+ export interface StatusListProps {
54
+ children: React.ReactNode;
55
+ className?: string;
56
+ }
57
+ export declare function StatusList({ children, className }: StatusListProps): import("react/jsx-runtime").JSX.Element;
58
+ export interface StatusItemProps {
59
+ status: 'live' | 'partial' | 'planned' | 'unknown';
60
+ name: React.ReactNode;
61
+ note?: React.ReactNode;
62
+ className?: string;
63
+ }
64
+ export declare function StatusItem({ status, name, note, className }: StatusItemProps): import("react/jsx-runtime").JSX.Element;
65
+ export declare function createSupabaseComponents(): MdxComponentMap;
@@ -0,0 +1,80 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId } from 'react';
3
+ function cx(...values) {
4
+ return values.filter(Boolean).join(' ');
5
+ }
6
+ export function SupabaseMark({ size = 'footer', className, ...props }) {
7
+ const id = useId();
8
+ const primaryGradientId = `${id}-primary`;
9
+ const shadowGradientId = `${id}-shadow`;
10
+ const dimensions = size === 'hero'
11
+ ? { width: 48, height: 50 }
12
+ : { width: 22, height: 22 };
13
+ return (_jsxs("svg", { viewBox: "0 0 109 113", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", className: cx('supabase-mark', className), ...dimensions, ...props, children: [_jsx("path", { d: "M63.7076 110.284C60.8481 113.885 55.0502 111.912 54.9813 107.314L53.9738 40.0627L99.1935 40.0627C107.384 40.0627 111.952 49.5228 106.859 55.9372L63.7076 110.284Z", fill: `url(#${primaryGradientId})` }), _jsx("path", { d: "M63.7076 110.284C60.8481 113.885 55.0502 111.912 54.9813 107.314L53.9738 40.0627L99.1935 40.0627C107.384 40.0627 111.952 49.5228 106.859 55.9372L63.7076 110.284Z", fill: `url(#${shadowGradientId})`, fillOpacity: "0.2" }), _jsx("path", { d: "M45.317 2.07103C48.1765 -1.53037 53.9745 0.442937 54.0434 5.041L54.4849 72.2922H9.83113C1.64038 72.2922 -2.92775 62.8321 2.1655 56.4177L45.317 2.07103Z", fill: "#3ECF8E" }), _jsxs("defs", { children: [_jsxs("linearGradient", { id: primaryGradientId, x1: "53.9738", y1: "54.974", x2: "94.1635", y2: "71.8295", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { stopColor: "#249361" }), _jsx("stop", { offset: "1", stopColor: "#3ECF8E" })] }), _jsxs("linearGradient", { id: shadowGradientId, x1: "36.1558", y1: "30.578", x2: "54.4844", y2: "65.0806", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", {}), _jsx("stop", { offset: "1", stopOpacity: "0" })] })] })] }));
14
+ }
15
+ export function SectionSlide({ children, className }) {
16
+ return _jsx("div", { className: cx('supabase-section-slide', className), children: children });
17
+ }
18
+ export function Divider({ centered = false, className }) {
19
+ return _jsx("div", { className: cx('divider', centered && 'center-divider', className), "aria-hidden": "true" });
20
+ }
21
+ export function Tag({ children, tone = 'default', className }) {
22
+ return _jsx("span", { className: cx('tag', tone !== 'default' && tone, className), children: children });
23
+ }
24
+ export function Wide({ children, className }) {
25
+ return _jsx("div", { className: cx('supabase-wide', className), children: children });
26
+ }
27
+ export function CardGrid({ children, columns = 3, className }) {
28
+ return (_jsx("div", { className: cx('row', className), style: { '--supabase-columns': String(columns) }, children: children }));
29
+ }
30
+ export function Card({ title, children, tone = 'default', className }) {
31
+ return (_jsxs("div", { className: cx('card', className), children: [_jsx("h3", { className: cx(tone !== 'default' && `tone-${tone}`), children: title }), _jsx("div", { children: children })] }));
32
+ }
33
+ export function StatGrid({ children, columns = 2, className }) {
34
+ return (_jsx("div", { className: cx('stat-grid', className), style: { '--supabase-columns': String(columns) }, children: children }));
35
+ }
36
+ export function Stat({ value, label, className }) {
37
+ return (_jsxs("div", { className: cx('stat', className), children: [_jsx("div", { className: "stat-value", children: value }), _jsx("div", { className: "stat-label", children: label })] }));
38
+ }
39
+ export function StatusList({ children, className }) {
40
+ return _jsx("div", { className: cx('status-list', className), children: children });
41
+ }
42
+ const STATUS_LABELS = {
43
+ live: 'live',
44
+ partial: 'partial',
45
+ planned: 'planned',
46
+ unknown: '?'
47
+ };
48
+ export function StatusItem({ status, name, note, className }) {
49
+ return (_jsxs("div", { className: cx('status-item', className), children: [_jsx("span", { className: cx('status-badge', status), children: STATUS_LABELS[status] }), _jsx("span", { className: "status-name", children: name }), note ? _jsx("span", { className: "status-note", children: note }) : null] }));
50
+ }
51
+ export function createSupabaseComponents() {
52
+ return {
53
+ h1: (props) => _jsx("h1", { ...props }),
54
+ h2: (props) => _jsx("h2", { ...props }),
55
+ h3: (props) => _jsx("h3", { ...props }),
56
+ p: (props) => _jsx("p", { ...props }),
57
+ a: ({ className, ...props }) => (_jsx("a", { className: cx('supabase-link', className), ...props })),
58
+ ul: ({ className, ...props }) => (_jsx("ul", { className: cx('supabase-list', className), ...props })),
59
+ ol: ({ className, ...props }) => (_jsx("ol", { className: cx('supabase-list', 'supabase-list-ordered', className), ...props })),
60
+ li: (props) => _jsx("li", { ...props }),
61
+ code: ({ className, ...props }) => (_jsx("code", { className: cx('supabase-inline-code', className), ...props })),
62
+ pre: ({ className, ...props }) => (_jsx("pre", { className: cx('supabase-pre', className), ...props })),
63
+ table: ({ className, ...props }) => (_jsx("table", { className: cx('supabase-table', className), ...props })),
64
+ th: ({ className, ...props }) => (_jsx("th", { className: cx('supabase-th', className), ...props })),
65
+ td: ({ className, ...props }) => (_jsx("td", { className: cx('supabase-td', className), ...props })),
66
+ blockquote: ({ className, ...props }) => (_jsx("blockquote", { className: cx('supabase-quote', className), ...props })),
67
+ SectionSlide,
68
+ SupabaseMark,
69
+ Divider,
70
+ Tag,
71
+ Wide,
72
+ CardGrid,
73
+ Card,
74
+ StatGrid,
75
+ Stat,
76
+ StatusList,
77
+ StatusItem
78
+ };
79
+ }
80
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../src/runtime/themes/supabase/components.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ThemeModule } from '../../theme-types.js';
2
+ import './theme.css';
3
+ declare const supabaseTheme: ThemeModule;
4
+ export default supabaseTheme;
@@ -0,0 +1,17 @@
1
+ import { createSupabaseComponents } from './components.js';
2
+ import { SupabaseDeck } from './SupabaseDeck.js';
3
+ import './theme.css';
4
+ const supabaseTheme = {
5
+ Deck: SupabaseDeck,
6
+ components: createSupabaseComponents(),
7
+ setup({ config, rootElement, helpers }) {
8
+ rootElement.style.setProperty('--slide-aspect-ratio', helpers.parseAspectRatio(config.aspectRatio));
9
+ rootElement.dataset.transition = config.transition ?? 'fade';
10
+ rootElement.dataset.theme = 'supabase';
11
+ return () => {
12
+ delete rootElement.dataset.theme;
13
+ };
14
+ }
15
+ };
16
+ export default supabaseTheme;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/themes/supabase/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,aAAa,CAAC;AAErB,MAAM,aAAa,GAAgB;IACjC,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,wBAAwB,EAAE;IACtC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE;QACpC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACpG,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;QAC7D,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;QAEvC,OAAO,GAAG,EAAE;YACV,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,523 @@
1
+ @import "tailwindcss";
2
+
3
+ :root {
4
+ --supabase-background: #080808;
5
+ --supabase-foreground: #e0e0e0;
6
+ --supabase-heading: #ffffff;
7
+ --supabase-accent: #3ecf8e;
8
+ --supabase-muted: #888888;
9
+ --supabase-dim: #555555;
10
+ --supabase-border: rgba(255, 255, 255, 0.1);
11
+ --supabase-footer-border: rgba(255, 255, 255, 0.07);
12
+ --supabase-footer-height: 56px;
13
+ --supabase-max-width: 900px;
14
+ --supabase-wide-width: 1100px;
15
+ }
16
+
17
+ *,
18
+ *::before,
19
+ *::after {
20
+ box-sizing: border-box;
21
+ }
22
+
23
+ html,
24
+ body,
25
+ #root {
26
+ min-height: 100%;
27
+ margin: 0;
28
+ }
29
+
30
+ body {
31
+ min-height: 100vh;
32
+ overflow: hidden;
33
+ background: var(--supabase-background);
34
+ color: var(--supabase-foreground);
35
+ font-family:
36
+ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
37
+ user-select: none;
38
+ }
39
+
40
+ button {
41
+ font: inherit;
42
+ }
43
+
44
+ .supabase-deck-shell {
45
+ min-height: 100vh;
46
+ background: var(--supabase-background);
47
+ }
48
+
49
+ .supabase-stage {
50
+ min-height: calc(100vh - var(--supabase-footer-height));
51
+ }
52
+
53
+ .supabase-slide {
54
+ display: flex;
55
+ min-height: calc(100vh - var(--supabase-footer-height));
56
+ align-items: center;
57
+ justify-content: center;
58
+ padding: 48px 64px 72px;
59
+ }
60
+
61
+ .supabase-slide-inner {
62
+ width: 100%;
63
+ max-width: var(--supabase-max-width);
64
+ }
65
+
66
+ .supabase-slide[data-transition="fade"] .supabase-slide-inner {
67
+ animation: supabase-fade-in 0.25s ease;
68
+ }
69
+
70
+ .supabase-slide[data-transition="slide"] .supabase-slide-inner {
71
+ animation: supabase-slide-in 0.25s ease;
72
+ }
73
+
74
+ @keyframes supabase-fade-in {
75
+ from {
76
+ opacity: 0;
77
+ transform: translateY(6px);
78
+ }
79
+
80
+ to {
81
+ opacity: 1;
82
+ transform: translateY(0);
83
+ }
84
+ }
85
+
86
+ @keyframes supabase-slide-in {
87
+ from {
88
+ opacity: 0;
89
+ transform: translateX(20px);
90
+ }
91
+
92
+ to {
93
+ opacity: 1;
94
+ transform: translateX(0);
95
+ }
96
+ }
97
+
98
+ .supabase-section-slide {
99
+ display: flex;
100
+ width: 100%;
101
+ flex-direction: column;
102
+ align-items: center;
103
+ text-align: center;
104
+ }
105
+
106
+ .supabase-wide {
107
+ width: 100%;
108
+ max-width: var(--supabase-wide-width);
109
+ margin: 0 auto;
110
+ }
111
+
112
+ .supabase-wide > :first-child {
113
+ margin-top: 0;
114
+ }
115
+
116
+ .supabase-wide > :last-child {
117
+ margin-bottom: 0;
118
+ }
119
+
120
+ .supabase-mark {
121
+ flex-shrink: 0;
122
+ }
123
+
124
+ h1,
125
+ h2,
126
+ h3,
127
+ p,
128
+ ul,
129
+ ol,
130
+ blockquote,
131
+ pre,
132
+ table {
133
+ margin: 0;
134
+ }
135
+
136
+ h1 {
137
+ color: var(--supabase-heading);
138
+ font-size: clamp(2.8rem, 6vw, 3rem);
139
+ font-weight: 800;
140
+ line-height: 1.1;
141
+ letter-spacing: -0.03em;
142
+ }
143
+
144
+ h2 {
145
+ color: var(--supabase-heading);
146
+ font-size: clamp(2rem, 4vw, 2.2rem);
147
+ font-weight: 700;
148
+ letter-spacing: -0.02em;
149
+ }
150
+
151
+ h3 {
152
+ color: var(--supabase-accent);
153
+ font-size: 1.35rem;
154
+ font-weight: 600;
155
+ letter-spacing: -0.01em;
156
+ }
157
+
158
+ p,
159
+ li,
160
+ blockquote {
161
+ color: #cccccc;
162
+ font-size: 1.15rem;
163
+ line-height: 1.7;
164
+ }
165
+
166
+ .supabase-slide-inner > * + * {
167
+ margin-top: 20px;
168
+ }
169
+
170
+ .supabase-list,
171
+ .supabase-list-ordered {
172
+ padding-left: 1.2em;
173
+ }
174
+
175
+ .supabase-list > li + li,
176
+ .supabase-list-ordered > li + li {
177
+ margin-top: 0.5em;
178
+ }
179
+
180
+ .green {
181
+ color: var(--supabase-accent);
182
+ }
183
+
184
+ .bold {
185
+ color: var(--supabase-heading);
186
+ font-weight: 600;
187
+ }
188
+
189
+ .dim {
190
+ color: var(--supabase-muted);
191
+ }
192
+
193
+ .highlight {
194
+ border-radius: 4px;
195
+ background: rgba(62, 207, 142, 0.12);
196
+ padding: 2px 8px;
197
+ color: var(--supabase-accent);
198
+ }
199
+
200
+ .mono {
201
+ font-family: "SF Mono", "Fira Code", monospace;
202
+ font-size: 0.95em;
203
+ }
204
+
205
+ .strikethrough {
206
+ color: var(--supabase-dim);
207
+ text-decoration: line-through;
208
+ }
209
+
210
+ .divider {
211
+ width: 60px;
212
+ height: 3px;
213
+ border-radius: 999px;
214
+ background: var(--supabase-accent);
215
+ }
216
+
217
+ .center-divider {
218
+ margin-left: auto;
219
+ margin-right: auto;
220
+ }
221
+
222
+ .tag {
223
+ display: inline-block;
224
+ margin-bottom: 16px;
225
+ border: 1px solid rgba(62, 207, 142, 0.4);
226
+ border-radius: 4px;
227
+ padding: 3px 10px;
228
+ color: var(--supabase-accent);
229
+ font-size: 0.75rem;
230
+ font-weight: 600;
231
+ letter-spacing: 0.08em;
232
+ text-transform: uppercase;
233
+ }
234
+
235
+ .tag.red {
236
+ border-color: rgba(255, 107, 107, 0.4);
237
+ color: #ff6b6b;
238
+ }
239
+
240
+ .tag.yellow {
241
+ border-color: rgba(255, 200, 50, 0.4);
242
+ color: #ffc832;
243
+ }
244
+
245
+ .row {
246
+ display: grid;
247
+ width: 100%;
248
+ grid-template-columns: repeat(var(--supabase-columns, 3), minmax(0, 1fr));
249
+ gap: 24px;
250
+ }
251
+
252
+ .card,
253
+ .stat {
254
+ border: 1px solid var(--supabase-border);
255
+ border-radius: 12px;
256
+ padding: 28px 32px;
257
+ }
258
+
259
+ .card > * + * {
260
+ margin-top: 12px;
261
+ }
262
+
263
+ .card h3.tone-red {
264
+ color: #ff6b6b;
265
+ }
266
+
267
+ .card h3.tone-yellow {
268
+ color: #ffc832;
269
+ }
270
+
271
+ .card p,
272
+ .card li {
273
+ font-size: 1.05rem;
274
+ }
275
+
276
+ .stat-grid {
277
+ display: grid;
278
+ width: 100%;
279
+ grid-template-columns: repeat(var(--supabase-columns, 2), minmax(0, 1fr));
280
+ gap: 20px;
281
+ }
282
+
283
+ .stat-value {
284
+ margin-bottom: 6px;
285
+ color: var(--supabase-accent);
286
+ font-size: 2.6rem;
287
+ font-weight: 800;
288
+ line-height: 1;
289
+ letter-spacing: -0.03em;
290
+ }
291
+
292
+ .stat-label {
293
+ color: var(--supabase-muted);
294
+ font-size: 0.95rem;
295
+ }
296
+
297
+ .status-list {
298
+ display: flex;
299
+ flex-direction: column;
300
+ gap: 13px;
301
+ }
302
+
303
+ .status-item {
304
+ display: flex;
305
+ align-items: center;
306
+ gap: 10px;
307
+ }
308
+
309
+ .status-name {
310
+ min-width: 145px;
311
+ color: var(--supabase-foreground);
312
+ font-size: 1rem;
313
+ font-weight: 600;
314
+ }
315
+
316
+ .status-note {
317
+ color: #666666;
318
+ font-size: 0.88rem;
319
+ }
320
+
321
+ .status-badge {
322
+ display: inline-block;
323
+ width: 68px;
324
+ flex-shrink: 0;
325
+ border-radius: 3px;
326
+ padding: 2px 0;
327
+ text-align: center;
328
+ font-size: 0.66rem;
329
+ font-weight: 700;
330
+ letter-spacing: 0.07em;
331
+ text-transform: uppercase;
332
+ }
333
+
334
+ .status-badge.live {
335
+ background: rgba(62, 207, 142, 0.13);
336
+ color: var(--supabase-accent);
337
+ }
338
+
339
+ .status-badge.partial {
340
+ background: rgba(255, 200, 50, 0.13);
341
+ color: #ffc832;
342
+ }
343
+
344
+ .status-badge.planned,
345
+ .status-badge.unknown {
346
+ background: rgba(255, 255, 255, 0.05);
347
+ color: var(--supabase-dim);
348
+ }
349
+
350
+ .supabase-table {
351
+ width: 100%;
352
+ border-collapse: collapse;
353
+ margin-top: 8px;
354
+ }
355
+
356
+ .supabase-th {
357
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
358
+ padding: 10px 16px;
359
+ color: var(--supabase-dim);
360
+ text-align: left;
361
+ font-size: 0.8rem;
362
+ font-weight: 600;
363
+ letter-spacing: 0.06em;
364
+ text-transform: uppercase;
365
+ }
366
+
367
+ .supabase-td {
368
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06);
369
+ padding: 14px 16px;
370
+ vertical-align: top;
371
+ color: #cccccc;
372
+ font-size: 1.05rem;
373
+ }
374
+
375
+ .supabase-table tr:last-child .supabase-td {
376
+ border-bottom: none;
377
+ }
378
+
379
+ .supabase-link {
380
+ color: var(--supabase-accent);
381
+ }
382
+
383
+ .supabase-inline-code {
384
+ border-radius: 4px;
385
+ background: rgb(54, 54, 54);
386
+ padding: 2px 8px;
387
+ color: var(--supabase-foreground);
388
+ font-family: "SF Mono", "Fira Code", monospace;
389
+ font-size: 0.95em;
390
+ }
391
+
392
+ .supabase-pre {
393
+ overflow-x: auto;
394
+ border: 1px solid var(--supabase-border);
395
+ border-radius: 12px;
396
+ background: rgba(255, 255, 255, 0.04);
397
+ padding: 22px 24px;
398
+ }
399
+
400
+ .supabase-pre code {
401
+ background: transparent;
402
+ padding: 0;
403
+ }
404
+
405
+ .supabase-quote {
406
+ border-left: 3px solid rgba(62, 207, 142, 0.45);
407
+ padding-left: 16px;
408
+ color: var(--supabase-muted);
409
+ }
410
+
411
+ .supabase-footer {
412
+ position: fixed;
413
+ right: 0;
414
+ bottom: 0;
415
+ left: 0;
416
+ display: flex;
417
+ height: var(--supabase-footer-height);
418
+ align-items: center;
419
+ gap: 16px;
420
+ border-top: 1px solid var(--supabase-footer-border);
421
+ background: rgba(8, 8, 8, 0.95);
422
+ padding: 0 32px;
423
+ backdrop-filter: blur(8px);
424
+ }
425
+
426
+ .supabase-breadcrumb {
427
+ display: flex;
428
+ min-width: 0;
429
+ flex: 1;
430
+ align-items: center;
431
+ gap: 8px;
432
+ overflow: hidden;
433
+ }
434
+
435
+ .supabase-breadcrumb-item {
436
+ position: relative;
437
+ border: 0;
438
+ background: transparent;
439
+ padding: 0;
440
+ color: var(--supabase-dim);
441
+ white-space: nowrap;
442
+ cursor: pointer;
443
+ font-size: 0.78rem;
444
+ font-weight: 500;
445
+ letter-spacing: 0.04em;
446
+ transition: color 0.15s ease;
447
+ }
448
+
449
+ .supabase-breadcrumb-item:hover {
450
+ color: #aaaaaa;
451
+ }
452
+
453
+ .supabase-breadcrumb-item.active {
454
+ color: var(--supabase-accent);
455
+ }
456
+
457
+ .supabase-breadcrumb-item + .supabase-breadcrumb-item::before {
458
+ content: "/";
459
+ margin-right: 8px;
460
+ color: #333333;
461
+ }
462
+
463
+ .supabase-counter {
464
+ flex-shrink: 0;
465
+ color: #444444;
466
+ font-size: 0.78rem;
467
+ font-variant-numeric: tabular-nums;
468
+ }
469
+
470
+ .supabase-print-deck {
471
+ background: var(--supabase-background);
472
+ }
473
+
474
+ .supabase-slide-print {
475
+ min-height: 100vh;
476
+ break-after: page;
477
+ page-break-after: always;
478
+ }
479
+
480
+ @media (max-width: 960px) {
481
+ body {
482
+ overflow: auto;
483
+ }
484
+
485
+ .supabase-slide {
486
+ min-height: auto;
487
+ padding: 32px 24px 88px;
488
+ }
489
+
490
+ .row,
491
+ .stat-grid {
492
+ grid-template-columns: 1fr;
493
+ }
494
+
495
+ .supabase-footer {
496
+ padding: 0 20px;
497
+ }
498
+
499
+ .status-item {
500
+ flex-wrap: wrap;
501
+ }
502
+ }
503
+
504
+ @media print {
505
+ @page {
506
+ size: landscape;
507
+ margin: 0;
508
+ }
509
+
510
+ body {
511
+ overflow: visible;
512
+ }
513
+
514
+ .supabase-footer {
515
+ display: none;
516
+ }
517
+
518
+ .supabase-slide,
519
+ .supabase-slide-print {
520
+ min-height: 100vh;
521
+ padding-bottom: 48px;
522
+ }
523
+ }