diff --git a/slides/Stealth — Bitcoin Wallet Privacy Analyzer _ Stealth.pdf b/slides/Stealth — Bitcoin Wallet Privacy Analyzer _ Stealth.pdf new file mode 100644 index 0000000..b3372b6 Binary files /dev/null and b/slides/Stealth — Bitcoin Wallet Privacy Analyzer _ Stealth.pdf differ diff --git a/slides/package.json b/slides/package.json index 3120b96..0833be3 100644 --- a/slides/package.json +++ b/slides/package.json @@ -10,5 +10,8 @@ "dependencies": { "@slidev/cli": "^52.0.0", "@slidev/theme-default": "^0.25.0" + }, + "devDependencies": { + "playwright-chromium": "^1.58.2" } } diff --git a/slides/pnpm-lock.yaml b/slides/pnpm-lock.yaml index ac4bcba..58fb7bd 100644 --- a/slides/pnpm-lock.yaml +++ b/slides/pnpm-lock.yaml @@ -10,10 +10,14 @@ importers: dependencies: '@slidev/cli': specifier: ^52.0.0 - version: 52.13.0(@nuxt/kit@3.21.1)(@types/markdown-it@14.1.2)(@types/node@22.19.13)(@vue/compiler-sfc@3.5.29)(markdown-it@14.1.1)(postcss@8.5.6) + version: 52.13.0(@nuxt/kit@3.21.1)(@types/markdown-it@14.1.2)(@types/node@22.19.13)(@vue/compiler-sfc@3.5.29)(markdown-it@14.1.1)(playwright-chromium@1.58.2)(postcss@8.5.6) '@slidev/theme-default': specifier: ^0.25.0 version: 0.25.0 + devDependencies: + playwright-chromium: + specifier: ^1.58.2 + version: 1.58.2 packages: @@ -2016,6 +2020,16 @@ packages: plantuml-encoder@1.4.0: resolution: {integrity: sha512-sxMwpDw/ySY1WB2CE3+IdMuEcWibJ72DDOsXLkSmEaSzwEUaYBT6DWgOfBiHGCux4q433X6+OEFWjlVqp7gL6g==} + playwright-chromium@1.58.2: + resolution: {integrity: sha512-SCoQ3hjBs7FfO46CoOtgAUg77BuYwCni1bzQgm47IUyLBTipnGkLxLnaUNRKXvPYO4hAyt8++Z6wVShVnhrzmw==} + engines: {node: '>=18'} + hasBin: true + + playwright-core@1.58.2: + resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} + engines: {node: '>=18'} + hasBin: true + points-on-curve@0.2.0: resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} @@ -3168,7 +3182,7 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@slidev/cli@52.13.0(@nuxt/kit@3.21.1)(@types/markdown-it@14.1.2)(@types/node@22.19.13)(@vue/compiler-sfc@3.5.29)(markdown-it@14.1.1)(postcss@8.5.6)': + '@slidev/cli@52.13.0(@nuxt/kit@3.21.1)(@types/markdown-it@14.1.2)(@types/node@22.19.13)(@vue/compiler-sfc@3.5.29)(markdown-it@14.1.1)(playwright-chromium@1.58.2)(postcss@8.5.6)': dependencies: '@antfu/ni': 28.2.0 '@antfu/utils': 9.3.0 @@ -3240,6 +3254,8 @@ snapshots: vue: 3.5.29(typescript@5.9.3) yaml: 2.8.2 yargs: 18.0.0 + optionalDependencies: + playwright-chromium: 1.58.2 transitivePeerDependencies: - '@nuxt/kit' - '@svgr/core' @@ -5074,6 +5090,12 @@ snapshots: plantuml-encoder@1.4.0: {} + playwright-chromium@1.58.2: + dependencies: + playwright-core: 1.58.2 + + playwright-core@1.58.2: {} + points-on-curve@0.2.0: {} points-on-path@0.2.1: diff --git a/slides/style.css b/slides/style.css index 370256b..dbf1239 100644 --- a/slides/style.css +++ b/slides/style.css @@ -317,3 +317,16 @@ code { .seesaw-balanced .seesaw-side.light { transform: translateY(0) rotate(0deg); } + +/* PDF/export stability: avoid transparent gradient compositing artifacts */ +@media print { + .slidev-layout { + background: var(--bg) !important; + } + + .panel, + .hero-wrap { + background: var(--surface) !important; + box-shadow: none !important; + } +}