Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations.
pdsmoover.com
pds
atproto
migrations
moo
cow
1:root {
2 font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
3 line-height: 1.5;
4 font-weight: 400;
5
6 color-scheme: light dark;
7 color: rgba(255, 255, 255, 0.87);
8 background-color: #242424;
9
10 font-synthesis: none;
11 text-rendering: optimizeLegibility;
12 -webkit-font-smoothing: antialiased;
13 -moz-osx-font-smoothing: grayscale;
14}
15
16a {
17 font-weight: 500;
18 color: #646cff;
19 text-decoration: inherit;
20 text-decoration: underline;
21}
22
23a:hover {
24 color: #535bf2;
25}
26
27body {
28 margin: 0;
29 display: flex;
30 place-items: center;
31 min-width: 320px;
32 min-height: 100vh;
33}
34
35button {
36 border-radius: 8px;
37 border: 1px solid transparent;
38 padding: 0.6em 1.2em;
39 font-size: 1em;
40 font-weight: 500;
41 font-family: inherit;
42 background-color: #1a1a1a;
43 cursor: pointer;
44 transition: border-color 0.25s;
45}
46
47button:hover {
48 border-color: #646cff;
49}
50
51button:focus,
52button:focus-visible {
53 outline: 4px auto -webkit-focus-ring-color;
54}
55
56@media (prefers-color-scheme: light) {
57 :root {
58 color: #213547;
59 background-color: #ffffff;
60 }
61
62 a:hover {
63 color: #747bff;
64 }
65
66 button {
67 background-color: #f9f9f9;
68 }
69}
70
71.container {
72 max-width: 500px;
73 margin: 0 auto;
74 padding: 20px;
75 text-align: center;
76}
77
78.form-group {
79 margin-bottom: 15px;
80 text-align: left;
81}
82
83.form-group label {
84 display: block;
85 margin-bottom: 5px;
86}
87
88.form-group input {
89 width: 100%;
90 padding: 8px;
91 box-sizing: border-box;
92}
93
94.cow-image {
95 height: 150px;
96 margin: 20px 0 8px 0;
97 display: flex;
98 align-items: center;
99 justify-content: center;
100}
101
102.section {
103 margin-top: 30px;
104}
105
106/* Left align the advance options section */
107div[x-show="showAdvance"].section {
108 text-align: left;
109}
110
111.made-by-blur {
112 font-size: 0.9em;
113 color: rgba(127, 127, 127, 0.9);
114 margin-bottom: 12px;
115}
116
117h1 {
118 font-size: 3.2em;
119 line-height: 1.1;
120 margin-bottom: 20px;
121}
122
123.error-message {
124 color: red;
125 font-size: 1.2em;
126 margin-top: 10px;
127}
128
129.status-message {
130 display: block;
131 margin: 15px auto;
132 padding: 10px;
133 background-color: #4a5568;
134 color: white;
135 border-radius: 5px;
136 font-weight: bold;
137 text-align: center;
138 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
139}
140
141.form-checkbox {
142
143 font-size: 2rem;
144 font-weight: bold;
145 line-height: 1.1;
146 display: grid;
147 grid-template-columns: 1em auto;
148 gap: 0.5em;
149}