diff --git a/src/lib/assets/beatsaver-logo_16px.png b/src/lib/assets/beatsaver-logo_16px.png
new file mode 100644
index 0000000..64d33c1
Binary files /dev/null and b/src/lib/assets/beatsaver-logo_16px.png differ
diff --git a/src/lib/assets/beatsaver-logo_32px.png b/src/lib/assets/beatsaver-logo_32px.png
new file mode 100644
index 0000000..58b4153
Binary files /dev/null and b/src/lib/assets/beatsaver-logo_32px.png differ
diff --git a/src/lib/assets/beatsaver-logo_512px.png b/src/lib/assets/beatsaver-logo_512px.png
new file mode 100644
index 0000000..24dbad6
Binary files /dev/null and b/src/lib/assets/beatsaver-logo_512px.png differ
diff --git a/src/lib/components/HasToolAccess.svelte b/src/lib/components/HasToolAccess.svelte
new file mode 100644
index 0000000..378acbc
--- /dev/null
+++ b/src/lib/components/HasToolAccess.svelte
@@ -0,0 +1,48 @@
+
+
+{#if hasAccess}
+
+ Tools are restricted to BeatLeader supporters (and the top 3k ranked players). +
+ {#if summary} +{summary}
+ {/if} + {#if showLockedMessage} +{showLockedMessage}
+ {/if} + {#if showCurrentRank} ++ {#if playerRankDisplay} + Current global rank: {playerRankDisplay} + {:else} + We couldn't determine your current BeatLeader rank. Refresh after your profile updates. + {/if} +
+ {/if} +Debug view for the current BeatLeader OAuth session.
+ + {#if loading} +No identity data returned.
+ {/if} +No player profile found for this identity.
+ {/if} +